home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / ansi / tdraw451.zip / THEDRAW.DOC < prev    next >
Text File  |  1992-04-15  |  324KB  |  8,612 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                    TheDraw Version 4.51
  10.         Color and Monochrome Screen Image Generator/Editor
  11.                  Operation Manual
  12.  
  13.  
  14.  
  15.                 COPYRIGHT (C) 1986-1992 by
  16.            TheSoft Programming Services and Ian E. Davis
  17.                   All Rights are Reserved
  18.  
  19.  
  20.  
  21.                TheSoft Programming Services
  22.                    P.O. Box 7657
  23.                   Fremont, CA. 94537-7657
  24.  
  25.  
  26.  
  27.               Written using Turbo Pascal v6.0
  28.  
  29.  
  30.  
  31.  
  32.                       PREFACE
  33.  
  34.  
  35.        This document is 149 pages long.  This document is Copyright (C) 1988-
  36.        1992 by TheSoft Programming Services.  All rights are reserved.
  37.  
  38.        The computer software programs  TheDraw  (TM)  and  TheDrawR  (TM) are
  39.        Copyright (C)  1986-1992 by  TheSoft Programming Services.  All rights
  40.        are reserved.
  41.  
  42.        TheDraw and TheDrawR are registered trademarks  of TheSoft Programming
  43.        Services.   Other brand and product names are trademarks or registered
  44.        trademarks of their respective holders.
  45.  
  46.        NOTICE:  Irresponsible individuals  have seen  fit to  modify and then
  47.        distribute changed  copies of TheDraw.  These are identified as having
  48.        the altered version numbers of 4.30,  5.00 or  6.00 typically.   Users
  49.        are  highly  encouraged  to  seek  out  and  delete  any copies of the
  50.        archives TDRAW430, TDRAW500 and  TDRAW600 they  may find.   Steps have
  51.        been taken to avoid this type of hacking in the future.
  52.  
  53.        The  latest  release  of  TheDraw  may  always  found on the following
  54.        bulletin board system (a special support area exists):
  55.  
  56.       The Great American Dream Machine (sysop Dave Gentry)
  57.       Phone: 415-581-3019
  58.       Fidonet file requests: Node 1:215/215, Magic name "THEDRAW"
  59.  
  60.       Downloading the TDRAW451.ZIP archive:
  61.         To enter "<*> TheDraw Support Area"         Type [*]
  62.              "<D>ownload TheDraw Latest Version"    Type [D]
  63.  
  64.       Leaving a message inquiry:
  65.         To enter "<*> TheDraw Support Area"         Type [*]
  66.              "<P>ost Messages to Other Users"       Type [P]
  67.              Address message to "Ian Davis"
  68.  
  69.        Although mentioned  elsewhere in  this document,  we urge  you here to
  70.        please write  if you  ever find a suspicious copy of TheDraw.  Look to
  71.        the program history section.  If an entry for your  release of TheDraw
  72.        seems spliced in, please notify TheSoft.  The sooner we find out about
  73.        "hacks", the sooner corrective action can take place.
  74.  
  75.        Lastly, with TheDraw v4.50 our  address  for  placing  orders changed.
  76.        Please  send  all  new  orders  and  inquiries  to TheSoft Programming
  77.        Services, P.O. Box 7657, Fremont, CA. 94537-7657.  The old  address at
  78.        1929  Whitecliff  Court,  Walnut  Creek,  CA,  94596 will still accept
  79.        orders however for quite some time (such is the shareware business).
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.        TheDraw v4.51              Preface                i
  87.  
  88.  
  89.  
  90.                       LICENSE
  91.  
  92.  
  93.        TheDraw is not a Public Domain program and  is not  free.   TheDraw is
  94.        copyright (C) 1986-1992 by TheSoft Programming Services.
  95.  
  96.        Non-registered users  of this  program are  granted a limited two-week
  97.        license to TheDraw to  evaluate  the  programs  suitability  for their
  98.        requirements.   Any usage of TheDraw beyond the evaluation time period
  99.        requires registration of each copy of the program used.   Use  of non-
  100.        registered copies  of TheDraw beyond the original evaluation period is
  101.        prohibited.
  102.  
  103.        TheDraw may NOT be modified in any respect, for any  reason, including
  104.        but   not   limited   to,   de-compiling,  disassembling,  or  reverse
  105.        engineering of the program.  The  opening title  screen, help screens,
  106.        and  all  other  proprietary  program  output  must  never be altered,
  107.        removed, bypassed or modified by any means.
  108.  
  109.        You are free to distribute the PUBLICLY AVAILABLE shareware version of
  110.        TheDraw  to  others  subject  to  the  above restrictions and also the
  111.        following:
  112.  
  113.       A.   No fee is charged for its use.
  114.  
  115.       B.   No renumeration may be  accepted for  TheDraw.   This does not
  116.            apply to computer access charges the system operators (Sysops)
  117.            of or  organizations  owning  bulletin  board  systems, online
  118.            services, etc... may charge subscribers.
  119.  
  120.       C.   TheDraw must  be copied in unaltered form, complete with files
  121.            containing license  information,  the  FULL  documentation and
  122.            all   accompanying   files.      The  self-extracting  archive
  123.            distributed by TheSoft must not be altered in ANY respect.
  124.  
  125.       D.   All shareware  houses/distribution firms  must make explicitly
  126.            clear  that  the  diskette  purchase  containing any shareware
  127.            program has NOT registered the shareware with TheSoft.
  128.  
  129.        System Operators may make TheDraw available  for download  only if the
  130.        above conditions  are met.   The archive (TDRAW451.ARJ) distributed by
  131.        TheSoft or  an  equivalent  archive  may  be  made  available  only in
  132.        complete  form.      Refer  to section FILE LISTING to verify complete
  133.        package contents.  If the contents appear altered or not complete, you
  134.        may  obtain  the  latest  release  of TheDraw directly from TheSoft by
  135.        sending a formatted diskette labeled with the word  "THEDRAW".  Please
  136.        include $5 for handling.
  137.  
  138.        An alternate  means of obtains the latest shareware archive is calling
  139.        The Great American Dream Machine at (510) 581-3019.   See  preface for
  140.        download instructions and how to leave comments.
  141.  
  142.  
  143.  
  144.        TheDraw v4.51              License               ii
  145.  
  146.  
  147.  
  148.  
  149.        Commercial distributors  of "Public  Domain", "Shareware", and/or User
  150.        Supported  software  may  distribute  TheDraw  subject  to  the  above
  151.        conditions  only  after  obtaining  WRITTEN  permission  from  TheSoft
  152.        Programming  Services.    This  condition  statement   supersedes  all
  153.        previous agreements.
  154.  
  155.        Please refer to the section entitled registration/ordering section for
  156.        additional information  on registration,  corporate site-licensing and
  157.        related topics.
  158.  
  159.        -----
  160.  
  161.        The above  license statement  does not apply to the REGISTERED version
  162.        of TheDraw.  The registered software  of TheSoft  Programming Services
  163.        is protected  under United  States Copyright  and Trademark  Laws.  It
  164.        must be treated just like a book with certain exceptions as follows:
  165.  
  166.        A. TheSoft Programming  Services  authorizes  the  making  of archival
  167.       copies  of   the  registered  software  for  the  sole  purpose  of
  168.       backing-up  your  software  and  protecting  your  investment  from
  169.       possible loss.
  170.  
  171.        B. The  medium  on  which  the  registered  software  is  recorded  is
  172.       transferred to the customer, but not the title to the software.
  173.  
  174.        C. The customer may resell  or  distribute  unmodified  copies  of the
  175.       registered  software  provided  the  customer  has  purchased  from
  176.       TheSoft Programming one copy  of the  registered software  for each
  177.       one sold  or distributed.   The provisions of this software license
  178.       shall also be applicable to third  parties receiving  copies of the
  179.       registered software from the customer.
  180.  
  181.        D. By saying,  "just like  a book", TheSoft Programming means that the
  182.       registered software may be used by any number of people  and may be
  183.       freely moved from one computer location to another so long as there
  184.       is ABSOLUTELY NO POSSIBILITY of it being used at one location while
  185.       being used at another.  Just like a book that cannot be read by two
  186.       different people in two different locations at the same time.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.        TheDraw v4.51              License              iii
  203.  
  204.  
  205.  
  206.                    ORDERING INFORMATION
  207.  
  208.  
  209.        Once a registered user of TheDraw, you are free to utilize the program
  210.        as often as you wish.  Other than having a clear conscience, there are
  211.        many advantages to registered.  You can opt to receive  in the  mail a
  212.        registered  version  of  TheDraw  with  configurable  editor commands,
  213.        enhanced editing facilities, context sensitive pop-up  help, and macro
  214.        keys.   The registered  version support utility routines (uncrunch and
  215.        display) offer Bios write  capability and  snow/hash prevention.   You
  216.        are  also  notified  via  mail when significant enhancements have been
  217.        made to the program.  Once registered, all upgrades are  available for
  218.        a $5 upgrade fee plus the original TheDraw diskette (see below).
  219.  
  220.        There  are  two  ways  to  register.    The first is by sending $15 to
  221.        TheSoft Programming Services along with a  registration form.   You do
  222.        NOT receive  the registered  version of TheDraw for this registration,
  223.        but  are  notified  of  upgrades.    For  an  additional  $5  plus  $2
  224.        shipping/handling,  we  send  you  the latest shareware and registered
  225.        versions of  TheDraw on  disk along  with documentation  (on disk) and
  226.        utilities. If you want to receive TheDraw on a 3.5 inch diskette (720k
  227.        format), add an additional $3 for each diskette ordered.
  228.  
  229.        If unsure, you can receive the latest shareware version of TheDraw for
  230.        evaluation by sending a formatted diskette plus $5 for handling.
  231.  
  232.        Please use the following form or print the included file "MAILER" when
  233.        placing an order.
  234.  
  235.        -----
  236.        NON U.S. residents, please send checks drawn on  U.S. funds.   We will
  237.        accept non  U.S. currency,  but you must include an additional $5 (US)
  238.        to cover exchange handling.  Also  add $5  overseas shipping/handling.
  239.        Canadians can obtain postal money orders in U.S. denomination easily.
  240.  
  241.  
  242.        UPGRADING TO LATEST VERSION OF THEDRAW
  243.        ──────────────────────────────────────────────────────────────────────
  244.        Users who have registered (and received a diskette) may upgrade to the
  245.        latest version of TheDraw by sending  in their  TheDraw ORIGINAL DISK,
  246.        along with  $5 plus  $2 (shipping/handling).  Please use the following
  247.        order form when upgrading.   If  there  has  been  an  address change,
  248.        please indicate so on the order form.
  249.  
  250.        The original  disk must be returned and contain the registered version
  251.        of TheDraw.  The disk  will  be  reformatted  and  the  current Master
  252.        copied  onto  it.    Any  disk  in  poor condition will be replaced by
  253.        TheSoft.  If the serial number label is  missing or  the diskette does
  254.        not  contain  the  registered  version  of TheDraw, the update will be
  255.        refused and the diskette returned unchanged.
  256.  
  257.  
  258.  
  259.  
  260.        TheDraw v4.51             Ordering               iv
  261.  
  262.  
  263.  
  264.  
  265.        Please Remit To:    TheSoft Programming Services
  266.                P.O. Box 7657
  267.                Fremont, CA. 94537-7657
  268.  
  269.        Qty.    Description                      Each    Total
  270.  
  271.        ____    TheDraw Upgrade to version 4.51          $5.00   ________
  272.            (You must return your original diskette
  273.         containing your copy of the registered
  274.         version of TheDraw)
  275.  
  276.        ____    TheDraw Evaluation Copy              $5.00   ________
  277.            (You supply diskette, no registration)
  278.  
  279.        ____    TheDraw Registration                $15.00   ________
  280.            (Does not include a new diskette with the
  281.         registered version of TheDraw)
  282.  
  283.        ____    TheDraw Registration with 5.25" diskette    $20.00   ________
  284.            (Registration including diskette with the
  285.         latest shareware and registered program
  286.         versions along with manual on diskette)
  287.  
  288.        ____    TheDraw Registration with 3.5" diskette     $23.00   ________
  289.            (same as above except on new size media)
  290.                              Subtotal   ________
  291.  
  292.       (Site License discount - see below)        Discount [-________]
  293.  
  294.       (U.S. orders add $2 shipping & handling)       Shipping   ________
  295.       (Foreign orders add $5 shipping)
  296.  
  297.       (Add $5 for Foreign Currency Exchange)    Misc. Charges   ________
  298.  
  299.       (CA residents please add sales tax)             Tax   ________
  300.  
  301.                                 TOTAL  $________
  302.  
  303.       Name: ________________________________________________________
  304.  
  305.        Company: ________________________________________________________
  306.  
  307.        Address: ________________________________________________________
  308.  
  309.         ________________________________________________________
  310.  
  311.         ________________________________________________________
  312.  
  313.  
  314.        All checks must be drawn on  U.S. Funds  in U.S.  Dollars.   Sorry, no
  315.        C.O.D. orders will be accepted.
  316.  
  317.  
  318.        TheDraw v4.51             Ordering                v
  319.  
  320.  
  321.  
  322.                    SITE LICENSE
  323.  
  324.  
  325.        If you  plan on using TheDraw in a corporate, government office, or in
  326.        any business environment  whatsoever,  registration  is  mandatory and
  327.        the two  week limited  license is  strictly enforced.  For such users,
  328.        quantity discounts are available under a Site License agreement.
  329.  
  330.        One MASTER copy of  TheDraw (with  documentation) will  be provided on
  331.        diskette.   The site is responsible for printing the documentation and
  332.        copying the diskettes for distribution.   Backups of the  MASTER disks
  333.        do not count towards the total copies of the license.
  334.  
  335.        With all  site licenses,  the site will supply one contact person with
  336.        which all correspondence will be made.  If a problem should occur, the
  337.        contact person  will call  and make  arrangements to get a fix for the
  338.        glitch.  Updates to TheDraw will be forwarded  to the  contact person.
  339.        When filling out the order form, use the contact persons name to avoid
  340.        confusion at a later date.
  341.  
  342.  
  343.        Following is the current site license discount rates:
  344.  
  345.                  TOTAL COPIES     DISCOUNT
  346.                 1 - 4       none
  347.                 5 - 10      10%
  348.                    11 - 20      20%
  349.                    21 - 30      30%
  350.                    31 - 50      40%
  351.                    51 - 100     50%
  352.                   101+          60%
  353.  
  354.  
  355.        NOTE:   All discounts and prices are subject to change without notice.
  356.            Also  note  that  discounts  are  not  cumulative and apply to
  357.            separate orders only.
  358.  
  359.  
  360.        PURCHASE ORDER TERMS AND REQUIREMENTS
  361.        _____________________________________
  362.  
  363.        Purchase Orders less than $100 must be pre-paid.
  364.  
  365.        Terms are net 30 days.
  366.        Freight is prepaid by TheSoft.
  367.        Lead time: Stock items.
  368.  
  369.        Tax exceptions:  Include  appropriate documentation.   Contact TheSoft
  370.        for voice verification if required.
  371.  
  372.  
  373.  
  374.  
  375.  
  376.        TheDraw v4.51          Site Licensing            vi
  377.  
  378.  
  379.  
  380.                      WARRANTY
  381.  
  382.  
  383.        TheDraw is  provided AS IS without any warranty, expressed or implied.
  384.        This  includes  without  limitation  the  fitfulness  to  a particular
  385.        purpose or application and any warranties of merchantability.
  386.  
  387.        While we  tried to  be as through as possible while debugging TheDraw,
  388.        TheSoft Programming Services shall  not  be  liable  for  any damages,
  389.        whether  direct,  indirect,  special,  or consequential arising from a
  390.        failure of this program or accompanying files to  operate in  a manner
  391.        desired by the user.  TheSoft Programming Services shall not be liable
  392.        for any damage to  data or  property which  may by  caused directly or
  393.        indirectly by use of this program.
  394.  
  395.        In no event will TheSoft Programming Services be liable to you for any
  396.        damages, including any lost profits, lost savings or  other incidental
  397.        or consequential  damages arising  out of your use or inability to use
  398.        the program, or for any claim by any other party.
  399.  
  400.        -----
  401.  
  402.        If you have a problem with  TheDraw  please  feel  free  to  write and
  403.        describe the  situation.   Registered users, please include the serial
  404.        number found on your diskette.
  405.  
  406.        To those people who  have  registered  (with  diskette),  the physical
  407.        diskette is warranted against defects in materials and workmanship for
  408.        a period of 60 days from date of  shipment by  TheSoft.   Any returned
  409.        disks found damaged or bad will be replaced at no charge.
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.        TheDraw v4.51             Warranty              vii
  435.  
  436.  
  437.  
  438.                  TABLE OF CONTENTS
  439.  
  440.  
  441.        Preface ...................................................... i
  442.  
  443.        License
  444.       Single User License ....................................... ii
  445.       Giving out Copies ......................................... ii
  446.       System Operators (Sysops) Info ............................ ii
  447.       Software Distributors - Read this ......................... iii
  448.       Registered Version License Agreement ...................... iii
  449.  
  450.        Ordering Information
  451.       Registration .............................................. iv
  452.          Upgrading to Latest Version of TheDraw ................. iv
  453.          Registration Only (no diskette) ........................ iv
  454.          Registration (diskette sent out) ....................... iv
  455.          Getting a Trial Copy ................................... iv
  456.          Getting a 3.5 inch diskette ............................ iv
  457.       Invoice Order Form ........................................ v
  458.       Site Licensing ............................................ vi
  459.          Bulk Order Discounts ................................... vi
  460.       Purchase Order Terms and Requirements ..................... vi
  461.          Tax Exceptions ......................................... vi
  462.  
  463.        Warranty ..................................................... vii
  464.  
  465.        Introduction ................................................. 1
  466.  
  467.        Definitions .................................................. 3
  468.  
  469.        System Requirements .......................................... 4
  470.       Multitasking Environments ................................. 4
  471.  
  472.        Getting Started .............................................. 5
  473.       File Listing .............................................. 5
  474.       Installing TheDraw ........................................ 6
  475.       Customizing TheDraw ....................................... 6
  476.       Starting TheDraw .......................................... 7
  477.       Leaving/Exiting TheDraw ................................... 7
  478.       Creating your First Screen ................................ 7
  479.          Saving your First Screen ............................... 8
  480.          Exiting TheDraw and Viewing your First Screen .......... 9
  481.          Egads!  What Happened? ................................. 9
  482.       Editing your First Screen ................................. 9
  483.          Changing Colors ........................................ 10
  484.          Painting the Screen .................................... 10
  485.       Making your Second TheDraw Screen ......................... 11
  486.          Drawing Lines .......................................... 11
  487.          Marking a Block ........................................ 12
  488.          Using Sprite mode ...................................... 13
  489.  
  490.  
  491.  
  492.        TheDraw v4.51                          viii
  493.  
  494.  
  495.  
  496.       Animating your Second TheDraw Screen ...................... 15
  497.          Selecting a Scan Pattern ............................... 15
  498.          Viewing the Animation Sequence ......................... 16
  499.          Saving Animation ....................................... 16
  500.       The Example Files ......................................... 17
  501.  
  502.        Operating TheDraw ............................................ 19
  503.       Command Line Filespecs .................................... 19
  504.       The Status Line ........................................... 19
  505.       HELP! ..................................................... 20
  506.       Cursor Control ............................................ 20
  507.       Mouse Control ............................................. 21
  508.       Command Summary ........................................... 22
  509.  
  510.        The Animation System ......................................... 23
  511.       What is Animation? ........................................ 23
  512.       Animation Basics .......................................... 24
  513.       A Simple Example .......................................... 24
  514.       Making a Block Move ....................................... 25
  515.       Easy Animation ............................................ 27
  516.          Animation Scan Patterns ................................ 27
  517.          Recording Cursor Movements ............................. 28
  518.       Editing and Deleting Animation Entries .................... 28
  519.          Changing your Animation Scan Pattern ................... 28
  520.       Advanced Animation Editing ................................ 29
  521.          Editing Partial Animation Sequences .................... 29
  522.         Animation Limiting .................................. 29
  523.         Animation Markers ................................... 30
  524.          Ansi Include Files ..................................... 30
  525.          Making Custom User Ansi Sequences ...................... 30
  526.       Tricks and Techniques ..................................... 31
  527.          Use of Colors .......................................... 31
  528.          Shading ................................................ 31
  529.          Shadowing .............................................. 32
  530.          Pausing ................................................ 33
  531.       Pitfalls and Limitations .................................. 33
  532.  
  533.        Tips and Examples for Programmers ............................ 34
  534.       Programming in Assembler .................................. 34
  535.       Programming in Pascal ..................................... 36
  536.          Turbo Pascal v4.0 through v5.5 ......................... 38
  537.          Turbo Pascal v6.0 ...................................... 40
  538.       Programming in C .......................................... 41
  539.          Using Object Files with C .............................. 43
  540.       Programming in Standard Basic ............................. 44
  541.       Programming in Microsoft QuickBasic v4.0 and v4.5 ......... 45
  542.          Making and Using Quick Libraries ....................... 46
  543.          The Display Routines ................................... 47
  544.          Command Line Compilation ............................... 50
  545.       Programming in Clipper(tm) ................................ 51
  546.  
  547.  
  548.  
  549.  
  550.        TheDraw v4.51                            ix
  551.  
  552.  
  553.  
  554.        Pull-Down Menu System ........................................ 55
  555.       The FILES Menu ............................................ 55
  556.       The GLOBAL Menu ........................................... 57
  557.       The OPTIONS Menu .......................................... 58
  558.          Setup Default Options .................................. 59
  559.       The SCREEN Menu ........................................... 61
  560.       The FONTS Menu ............................................ 63
  561.          Standard Font .......................................... 63
  562.          Choosing a Font Outline ................................ 63
  563.          Font Selection ......................................... 64
  564.       The ANIMATION Menu ........................................ 64
  565.       The COLOR Menu ............................................ 66
  566.       The TOGGLES Menu .......................................... 67
  567.  
  568.        TheDraw Keyboard Commands .................................... 69
  569.       Alt-A  Change Text Color Attributes ....................... 69
  570.       Alt-B  Block Action Commands .............................. 70
  571.            Copy a Block ..................................... 71
  572.            Move a Block ..................................... 71
  573.            Fill a Block ..................................... 72
  574.            Block Text Operations ............................ 73
  575.            Delete a Block ................................... 74
  576.            Erase a Block .................................... 74
  577.            Block Replace Operations ......................... 74
  578.            Load a Block (normal mode only) .................. 75
  579.            Save a Block (normal mode only) .................. 75
  580.            Rescan a Block (animation mode only) ............. 75
  581.       Alt-C  Clear Current Screen ............................... 75
  582.       Alt-D  Set Default Clear Screen Color ..................... 76
  583.       Alt-E  Change Page Layer Edit Screen ...................... 76
  584.            Sprite Editing ................................... 76
  585.       Alt-F  View Function Key Sets ............................. 78
  586.       Alt-G  Global Commands .................................... 78
  587.            Copy Screen ...................................... 79
  588.            Move/Rotate Screen ............................... 79
  589.            Fill Screen ...................................... 79
  590.            Global Text Operations ........................... 80
  591.            Global Replace Operations ........................ 81
  592.       Alt-H  Display Help Information ........................... 81
  593.       Alt-I  Insert a Line ...................................... 82
  594.       ALT-J  Animation Options .................................. 82
  595.            From Normal Edit Mode ............................ 82
  596.            From Animator Mode ............................... 85
  597.              Include - Specify Animation Include Files ...... 85
  598.                Ansi Music ................................... 86
  599.              User_Seq - Specify User Control Sequences ...... 86
  600.              Limit - Specify Animation Limiting ............. 87
  601.              Marker - Specify Animation Markers ............. 88
  602.              Movement - Toggle Storage of Cursor Movement ... 89
  603.              Normal - Convert to Normal Edit Mode ........... 89
  604.              Rescan - Rescan All Screens for New Sequence ... 89
  605.              Pause - Animation Pausing ...................... 89
  606.  
  607.  
  608.        TheDraw v4.51                             x
  609.  
  610.  
  611.  
  612.       Alt-K  Delete a File ...................................... 90
  613.       Alt-L  Load Screen from Disk .............................. 90
  614.       Alt-M  Select Draw Mode (toggle) .......................... 92
  615.       Alt-N  Ruler .............................................. 92
  616.       Alt-O  Change Drive/Sub Directory ......................... 92
  617.       Alt-P  Paint/Fill Commands ................................ 93
  618.       Alt-Q  Redraw Screen (animator mode only) ................. 93
  619.       Alt-R  Restore/Undo Changes ............................... 94
  620.       Alt-S  Save Screen to Disk ................................ 94
  621.            Ansi Text (.ANS) ................................. 94
  622.            Ascii Text (.ASC) ................................ 95
  623.            Assembly Language (.ASM) ......................... 95
  624.            Binary Screen Dump (.BIN) ........................ 96
  625.            Basic BSave Screen Dump (.BSV) ................... 96
  626.            Dos COM Files (.COM) ............................. 96
  627.            Turbo Pascal (.PAS) .............................. 96
  628.            Modern C (.H) .................................... 96
  629.            Intel Compatible Object Code (.OBJ) .............. 97
  630.               Object File Data Formats ...................... 98
  631.            TheDraw Setup Save (.TD) ......................... 98
  632.       Alt-T  Tab Setup .......................................... 99
  633.       Alt-U  Use Color under Cursor ............................. 99
  634.       Alt-V  View a Screen (not load) ........................... 100
  635.       Alt-W  Edit Character (animator mode only) ................ 100
  636.       Alt-X  Exit TheDraw ....................................... 100
  637.       Alt-Y  Delete Current Line ................................ 101
  638.       Alt-Z  Erase Cursor Character (animator mode only) ........ 101
  639.  
  640.       ALT-[LEFT]  Delete Current Column ......................... 101
  641.       ALT-[RIGHT] Insert a Column ............................... 101
  642.       Alt--  Toggle Color Draw Mode ............................. 101
  643.       Alt-=  Toggle Macro Learning Mode ......................... 102
  644.  
  645.       Alternate Color Change Options (CTRL-UP/DOWN/LEFT/RIGHT) .. 102
  646.       Solid Spaces (SHIFT-SPACE) ................................ 103
  647.       Full Screen Editing (CTRL-PRTSC) .......................... 103
  648.  
  649.        The Font Editor (TDFONTS) .................................... 104
  650.       Running TDFonts ........................................... 104
  651.       Viewing a Font ............................................ 105
  652.       Changing a Font ........................................... 105
  653.          Delete Symbol .......................................... 106
  654.          Copy Symbol ............................................ 106
  655.          Modify Symbol .......................................... 106
  656.         Edit Modes .......................................... 107
  657.         Reserved Characters ................................. 107
  658.       Making New Fonts .......................................... 108
  659.       Moving a Font ............................................. 108
  660.       Renaming Fonts ............................................ 109
  661.       Deleting a Font ........................................... 109
  662.       Font Importing ............................................ 109
  663.       Font Exporting ............................................ 109
  664.  
  665.  
  666.        TheDraw v4.51                            xi
  667.  
  668.  
  669.  
  670.        The Presentation Program (THEPP) ............................. 110
  671.  
  672.        The Setup Utility ............................................ 114
  673.       Why Setup? ................................................ 114
  674.       Display Windows and Selecting Options ..................... 115
  675.       Saving and Aborting Changes ............................... 115
  676.       Running Setup ............................................. 115
  677.          Main Menu .............................................. 115
  678.         Editor Configuration ................................ 116
  679.            Changing a key entry ............................. 116
  680.            Allowed Keystrokes ............................... 116
  681.         Keyboard Customize .................................. 117
  682.         Screen Mode ......................................... 117
  683.         Colors .............................................. 119
  684.         Files Directory ..................................... 119
  685.         Memory Usage ........................................ 120
  686.         Defaults ............................................ 120
  687.         Quit/Save ........................................... 121
  688.  
  689.        Appendix A:  Setting up CONFIG.SYS ........................... 122
  690.  
  691.        Appendix B:  Extended/Special Character Set .................. 123
  692.  
  693.        Appendix C:  Common Questions & Answers ...................... 124
  694.  
  695.        Revision History ............................................. 128
  696.  
  697.        The Future ................................................... 135
  698.  
  699.        Comments ..................................................... 136
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.        TheDraw v4.51                           xii
  725.  
  726.  
  727.  
  728.  
  729.                    INTRODUCTION
  730.  
  731.  
  732.        TheDraw  is  a  powerful  screen  image generator/editor for color and
  733.        monochrome video users.  What  does  that  mean?    Literally, TheDraw
  734.        makes designing and figuring out a video screen display childs play.
  735.  
  736.        Its basic  premise is  this: be easy to use.  The most novice computer
  737.        user can make an Ansi text file screen  with TheDraw  in only minutes.
  738.        From that  point on,  you can  explore and  use more of the horsepower
  739.        available in TheDraw.
  740.  
  741.        Someone is probably saying "it edits screens...  big deal".  This type
  742.        of person has never known the agony of creating a good looking menu or
  743.        display for a program (assuming he/she programs), making a fancy batch
  744.        file intro  screen, or  having to  quickly putting together a computer
  745.        presentation for the boss.
  746.  
  747.        The biggest problem facing most people is we  really do  not know what
  748.        will  look  good  until  we  see  it.    Manually editing a screen can
  749.        literally take hours.  With  TheDraw,  you  can  free  form  until you
  750.        really  know  what  is  perfect.    With  the picture in mind, you can
  751.        quickly develop whatever is necessary or instruct TheDraw  to create a
  752.        data file  which can be used.  Instead of hours, making a screen takes
  753.        minutes.
  754.  
  755.        For the curious, TheDraw  can  transform  your  masterpiece  into data
  756.        files with the following formats:
  757.  
  758.          ANSI color text (useful in batch files, BBS's, etc...)
  759.          ASCII text (compatible with word processors and text editors)
  760.          BINARY files (generic, useful in most everything)
  761.          BSAVE (for Basic)
  762.          COM files (actual separate programs executable directly
  763.         by Dos - Great for batch files and presentations)
  764.          ASSEMBLER (for the die-hard coder)
  765.          TURBO PASCAL (directly compilable source code)
  766.          C (format is for Turbo C specifically)
  767.          OBJECT (Intel format compatible, suitable for linking.  Four
  768.         varieties available for Large/Small generic data model, Turbo
  769.         Pascal v4.0+, and QuickBasic v4.0+)
  770.          THEDRAW (custom storage format for FAST loading and saving)
  771.  
  772.        TheDraw was long ago originally written as an improvement to  a simple
  773.        program named  AnsiDraw written  by Amrich Enterprises.  Both programs
  774.        provided similar operation, with TheDraw giving  a much  enhanced user
  775.        interface.
  776.  
  777.        TheDraw is  now vastly  improved over  the abilities  of AnsiDraw, and
  778.        most other screen editors.  It  is compatible  with systems  that have
  779.        250k of free memory available.  Monochrome and Color monitor users are
  780.  
  781.  
  782.        TheDraw v4.51           Introduction              1
  783.  
  784.  
  785.  
  786.        supported, and  a  special  keyboard  driver  allows  you  to redefine
  787.        keystrokes that  do not operate properly or are used by other programs
  788.        (registered version).  If  you  have  an  EGA  or  VGA  video display,
  789.        TheDraw permits editing on 43 or 50 line screens respectfully.
  790.  
  791.        Ascii fonts  are fully  supported.   These are large scale letters and
  792.        symbols which span multiple lines.  Great for  making welcome messages
  793.        or notes of importance.
  794.  
  795.        Another  feature  TheDraw  fully  supports  is  ANIMATION.   With this
  796.        facility you can develop quick and dirty presentations, or simply make
  797.        a generic screen appear with pizzazz.  You can either let TheDraw make
  798.        an animation sequence from  a static  image, or  one can  be made from
  799.        scratch; thus  letting you  fully control the appearance of your work.
  800.        TheDraw gives you a maximum of  16000 separate  animation "entries" to
  801.        handle the  most complex job.  The final result can be saved either as
  802.        an ANSI file (Ansi Animation) or TheDraw format file.  See the section
  803.        entitled "The Animation System" for more information.
  804.  
  805.        To get started using TheDraw right away, refer to the section entitled
  806.        "Getting Started with TheDraw".  This section describes how to install
  807.        and run TheDraw.
  808.  
  809.        Enjoy!
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.        TheDraw v4.51           Introduction              2
  841.  
  842.  
  843.  
  844.  
  845.                     DEFINITIONS
  846.  
  847.  
  848.        Throughout  this  documentation  you  may  run  across  the occasional
  849.        enigmatic word  that  needs  explaining.      The  following  are some
  850.        examples you might come across:
  851.  
  852.          enigmatic      - mysterious or cryptic
  853.  
  854.          [ENTER] or C/R - This represents the return key on the keyboard.
  855.                   If you see this in the text, press the Enter
  856.                   key; do not type the actual letters.
  857.  
  858.          ESC or [ESC]   - Means to press the ESC key on the keyboard.
  859.  
  860.          [letter]       - Means to  press the  actual key marked 'letter'
  861.                   on your keyboard.  ie: [L]oad,  [L], or [L]left
  862.                   all mean press the letter 'L' key.
  863.  
  864.          Alt-<letter>   - Alt- is always followed by another character.
  865.            or             Together, this symbol means to first press and
  866.          [ALT-<letter>]   hold  down  the  ALT  key  on the keyboard then
  867.                   type the letter key following it.   ie: [ALT-A]
  868.                   means hold ALT then press 'A'.
  869.  
  870.          Ctrl-<letter>  - This is executed the same as the ALT key.
  871.          [CTRL-<letter>]  Press and hold down the CTRL then hit the
  872.            or             letter following.  ie:  CTRL-A and ^A mean the
  873.          ^<letter>        same thing - hold CTRL then press 'A'.
  874.  
  875.          [LEFT] [RIGHT] - Means to press the corresponding keypad arrow
  876.          [UP] [DOWN]      key on your keyboard.  Similar to the [letter]
  877.          [TAB] etc...     example shown above.  ie: [UP] means to press
  878.                   the up arrow key.
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.        TheDraw v4.51            Definitions              3
  899.  
  900.  
  901.  
  902.  
  903.                 SYSTEM REQUIREMENTS
  904.  
  905.  
  906.        TheDraw requires an IBM PC/XT/AT or close compatible running MsDos 2.0
  907.        or higher.   In  addition,  a  monochrome  adapter  or  color graphics
  908.        display  adapter  (CGA,  EGA,  or  VGA)  plus monitor is needed to run
  909.        properly.
  910.  
  911.        In a minimum configuration, 250 kilobytes of free memory are required.
  912.        The  maximum  memory  usage  is  430k  of memory (8 page layers, 16000
  913.        animation entries).   TheDraw  will  always  attempt  to  allocate all
  914.        available memory up to the limits specified via the Setup utility.
  915.  
  916.  
  917.  
  918.        MULTITASKING ENVIRONMENTS
  919.        ──────────────────────────────────────────────────────────────────────
  920.        TheDraw  can  be  used  under  multitasking  or windowing environments
  921.        provided the full video  screen  is  allocated  to  it.    The program
  922.        directly  accesses  video  memory  and  the keyboard hardware for some
  923.        functions.  TheDraw does not use any high  resolution graphics  in its
  924.        operation.
  925.  
  926.        TheDraw  is  known  to  operate  under  Double  Dos  except  for minor
  927.        problems.  Double Dos  disables  certain  keyboard  sequences (notably
  928.        Ctrl-PrtSc).   For this  situation, people with the registered version
  929.        of TheDraw can use the Setup utility to redefine the function of Ctrl-
  930.        Prtsc to another key.
  931.  
  932.        TheDraw operates  under Microsoft Windows and Desqview provided memory
  933.        and video requirements (as mentioned above) are taken care of.
  934.  
  935.  
  936.        Note:    It is easy to cause problems with some window environments if
  937.         the  user  wishes.    Working in another window while TheDraw
  938.         attempts to refresh  its  screen  may  result  in information
  939.         being overwritten.  Be warned.
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.        TheDraw v4.51        System Requirements              4
  957.  
  958.  
  959.  
  960.  
  961.                   GETTING STARTED
  962.  
  963.  
  964.        Setting up TheDraw to operate on your computer is fairly easy.  If you
  965.        received TheDraw on diskette,  we suggest  you backup  the disk before
  966.        proceeding.  It never hurts to play things safe.
  967.  
  968.        On  registered  diskettes  obtained  from  TheSoft a batch file called
  969.        INSTALL.BAT is included to simplify installation.   The  INSTALL batch
  970.        file is not bundled with the shareware version of TheDraw.
  971.  
  972.  
  973.        FILE LISTING
  974.        ──────────────────────────────────────────────────────────────────────
  975.        The following  briefly lists  those files  included with the shareware
  976.        version of TheDraw:
  977.  
  978.  
  979.        WHATSNEW.DOC      Brief listing of new additions for this release.
  980.        MAILER        A registration form which when printed can be easily
  981.              folded and mailed.  No envelope is needed.
  982.  
  983.        PRINTDOC.EXE      Program to  simplify printing  out this documention.
  984.              Type "PRINTDOC [enter]" from the dos prompt.
  985.        SETUP.EXE     TheDraw setup utility.  See following section below.
  986.        TDFONTS.EXE       TheDraw font editor utility.
  987.        TDFONTS.TDF       TheDraw font database file.
  988.        THEDRAW.EXE       Shareware version of TheDraw
  989.        THEDRAW.DOC       This documentation file.
  990.  
  991.        SHUTTLE2.ANS  \
  992.        DEMO.TD        \  Example demonstration files.
  993.        SHADING.TD     /  See section "THE DEMO FILES" for descriptions.
  994.        EFFECTS.BIN   /
  995.  
  996.        UNCRUNCH.ASM  \   Implementations of the algorithm needed to display
  997.        UNCRUNCH.PAS   \  screen images compressed (crunched) by TheDraw.
  998.        UNCRUNCH.H      > The first is for assembly language, the second for
  999.        UNCRUN_N.OBJ   /  Turbo Pascal, the third has external C declarations
  1000.        UNCRUN_F.OBJ  /   linking to routines in  the UNCRUN_N/UNCRUN_F files.
  1001.              Refer  to  "PROGRAMMERS  PROGRAMMING  TIPS" for more
  1002.              information.
  1003.  
  1004.        QB4UTIL.BI        QuickBasic 4.x display routine declarations.
  1005.        QB4UTIL.LIB       QuickBasic 4.x display routines in library form.
  1006.  
  1007.        MAKEQLB.BAT       Produces Quick Libraries  (.QLB  and  .LIB)  for use
  1008.              with QuickBasic.   Refer to "PROGRAMMERS PROGRAMMING
  1009.              TIPS" for more information.
  1010.  
  1011.  
  1012.  
  1013.  
  1014.        TheDraw v4.51          Getting Started                5
  1015.  
  1016.  
  1017.  
  1018.  
  1019.        The registered version of TheDraw adds the files:
  1020.  
  1021.        THEDRAWR.EXE      Registered version of TheDraw
  1022.        THEDRAWR.HLP      Context sensitive help file for registered version.
  1023.        THEPP.EXE     The Presentation Program utility.
  1024.  
  1025.  
  1026.  
  1027.        INSTALLING THEDRAW
  1028.        ──────────────────────────────────────────────────────────────────────
  1029.        You will want all files frequently  used placed  onto either  a "work"
  1030.        diskette or  your hard drive.  To reduce space requirements, the setup
  1031.        utility, documentation and example  files are  compacted.   You should
  1032.        use INSTALL to obtain these files.
  1033.  
  1034.        First, insert the distribution diskette into drive A.  For floppy disk
  1035.        installation, type the command:
  1036.  
  1037.       A:INSTALL FLOPPY
  1038.  
  1039.        For hard disk installation, type the command:
  1040.  
  1041.       A:INSTALL HD
  1042.  
  1043.        After  either  command  press  [ENTER].    Simply  follow  the  online
  1044.        instructions presented.   Once  done, you  are all set to go.  INSTALL
  1045.        will explain about the README file and PRINTDOC  utility.   The README
  1046.        file contains  last-minute details about this release of TheDraw.  The
  1047.        PRINTDOC utility handles sending this documentation to your printer.
  1048.  
  1049.        If you have never used  TheDraw  before,  you  may  wish  to  read the
  1050.        section "Making  your First  TheDraw Screen"  below.  More experienced
  1051.        users might want to  configure items  and are  referred to  "The Setup
  1052.        Utility" section.
  1053.  
  1054.  
  1055.        CUSTOMIZING THEDRAW
  1056.        ──────────────────────────────────────────────────────────────────────
  1057.        Many  facets  of  TheDraw  can be customized (colors, options, default
  1058.        preferences, etc...) using the external setup  utility.   Refer to the
  1059.        section called "The Setup Utility" for information on configuration.
  1060.  
  1061.        Some parameters are often changed when using TheDraw.  The more common
  1062.        of these can be updated within TheDraw.   See "Setup  Default Options"
  1063.        under the section "Pull-Down Menu System".
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.        TheDraw v4.51          Getting Started                6
  1073.  
  1074.  
  1075.  
  1076.        STARTING THEDRAW
  1077.        ──────────────────────────────────────────────────────────────────────
  1078.        By this  point you must be eager to start playing with TheDraw; by all
  1079.        means do so.  If you're  using a  floppy disk  drive, place  your work
  1080.        diskette into Drive A and type the following command:
  1081.  
  1082.         THEDRAW       (for shareware version)
  1083.         THEDRAWR      (for registered version)
  1084.  
  1085.        Press [ENTER]  to run  the program and bring up the title screen.  Tap
  1086.        a key, and the edit screen appears.  For quick  reference, press [ALT-
  1087.        X] should you need to leave TheDraw at any time.
  1088.  
  1089.        If  you  are  using  a  hard  disk,  get into the TheDraw subdirectory
  1090.        created by the INSTALL batch file  (the default  is C:\THEDRAW).   Run
  1091.        TheDraw typing:
  1092.  
  1093.         THEDRAW       (for shareware version)
  1094.         THEDRAWR      (for registered version)
  1095.  
  1096.        at  the  C:\THEDRAW>  prompt.    Now  everything is ready to make your
  1097.        first TheDraw screen.
  1098.  
  1099.  
  1100.        LEAVING/EXITING THEDRAW
  1101.        ──────────────────────────────────────────────────────────────────────
  1102.        Just a quick note regarding getting out of  TheDraw.   Should you need
  1103.        to leave  the program at any time, press [ALT-X] from the edit screen.
  1104.        TheDraw prompts to verify.  Type [Y]es or  press [ENTER]  to return to
  1105.        the dos prompt.
  1106.  
  1107.  
  1108.        CREATING YOUR FIRST SCREEN
  1109.        ──────────────────────────────────────────────────────────────────────
  1110.        After starting TheDraw, and pressing a key to get past the title, what
  1111.        appears is the edit screen.    The  screen  is  blank  except  for the
  1112.        status line  along the  bottom.   The cursor will be in the upper left
  1113.        corner of the screen.
  1114.  
  1115.        At this point, type in your  name  and  address  as  you  might  on an
  1116.        envelope.  Press [ENTER] after each line.  ie:
  1117.  
  1118.          John Smith
  1119.          123 ABC Street
  1120.          Somewhere, CA 12345
  1121.  
  1122.        Use the  [BACKSPACE] key to make deletions, and the arrow keys to move
  1123.        around in the edit area.
  1124.  
  1125.        TheDraw contains a wide variety of  commands designed  to make editing
  1126.        easier.    Now  to  use  some  of these performing an elementary task;
  1127.        centering your address on the screen.
  1128.  
  1129.  
  1130.        TheDraw v4.51          Getting Started                7
  1131.  
  1132.  
  1133.  
  1134.        There are a number  of ways  to accomplish  the objective.   You could
  1135.        insert spaces  onto each  line, shifting everything over as if using a
  1136.        word processor.  TheDraw has  a  command  for  inserting  entire blank
  1137.        columns.    However,  the  best  way  is  using a feature specifically
  1138.        designed for the task.  To do this:
  1139.  
  1140.       o  First press [ESC] to see the pull-down menu  bar.   You need the
  1141.          "Text"  option  from  the  Global  menu.  Select the Global menu
  1142.          using the  left/right arrow  keys then  type [T]  for the "Text"
  1143.          command.   A simpler  way is the shortcut; type [ALT-G] from the
  1144.          edit screen for global screen functions, then [T]ext.
  1145.  
  1146.       o  A prompt  appears above  the status  line.   Select the [C]enter
  1147.          option.    Since  global  operations  affect  the entire screen,
  1148.          TheDraw centers -all- lines of your address horizontally.
  1149.  
  1150.       o  Move the cursor to the top  line using  [UP] arrow  key.  Center
  1151.          the  address  vertically  using  the  insert  line command.  The
  1152.          shortcut key is [ALT-I].   The  command  is  also  found  in the
  1153.          Screen pulldown menu.  Repeat four or five times to fully center
  1154.          the image.
  1155.  
  1156.        The last thing we  want to  do in  this first  screen is  surround the
  1157.        address with  a border  outline.   TheDraw has  a easy global function
  1158.        for doing this also:
  1159.  
  1160.       o  Select "Text" from the Global pulldown menu again.
  1161.  
  1162.       o  Choose the [O]utline option.  TheDraw responds by  drawing a box
  1163.          around the edges of your address.
  1164.  
  1165.        There we have it, your first screen made via TheDraw is complete!
  1166.  
  1167.  
  1168.        SAVING YOUR FIRST SCREEN:
  1169.  
  1170.        After all this work it makes sense to save your screen to disk.  Press
  1171.        [ESC] to see the pull-down menu bar.  Select the Files menu  using the
  1172.        left/right arrow keys then type [S] to choose the "Save" command.  The
  1173.        shortcut is just typing [ALT-S] from the edit screen.
  1174.  
  1175.        TheDraw knows of ten different ways to save a screen.  These vary from
  1176.        Ansi  to  a  custom  high  speed  format.  For now choose Ansi and all
  1177.        defaults by pressing [ENTER]  four  times.    At  the  filename prompt
  1178.        appearing next type in:
  1179.  
  1180.       ADDRESS.ANS
  1181.  
  1182.        Press [ENTER]  to save the image.  Note how TheDraw reports the number
  1183.        of output lines used.  Ansi files are compressed as  much as possible,
  1184.        occasionally  down  to  a  single  line.   Do not be surprised if this
  1185.        happens to you.
  1186.  
  1187.  
  1188.        TheDraw v4.51          Getting Started                8
  1189.  
  1190.  
  1191.  
  1192.  
  1193.        VIEWING YOUR FIRST SCREEN:
  1194.  
  1195.        To see the results of the  above,  leave  TheDraw  by  typing [ALT-X].
  1196.        Answer [Y]es to the verify prompt.  From the dos prompt, enter:
  1197.  
  1198.       TYPE ADDRESS.ANS
  1199.  
  1200.        Press [ENTER] to see the screen as it appeared within TheDraw.
  1201.  
  1202.  
  1203.  
  1204.  
  1205.        EGADS!  WHAT HAPPENED?
  1206.  
  1207.        It is  possible that  instead of  your address  appearing, instead you
  1208.        were faced with a large amount of gibberish.  Something like:
  1209.  
  1210.       ^[[40m^[[2J^[[2;1H^[[3;1H^[[4;1H etc...
  1211.  
  1212.        This means the  Ansi  device  driver  is  missing.    The  Ansi driver
  1213.        translates special color and cursor control commands for the screen.
  1214.  
  1215.        TheDraw  creates  Ansi  compatible  files,  but  they  only  appear as
  1216.        intended when the device driver  is  present.    To  install  the Ansi
  1217.        driver, please refer to Appendix A ("Setting Up CONFIG.SYS").
  1218.  
  1219.        If you  already installed  the driver per Appendix A, something may be
  1220.        preventing  it  working  or  you  need   to  reinitialize/reboot  your
  1221.        computer.  Device drivers are only installed when the computer "boots"
  1222.        up.  Press [CTRL-ALT-DELETE] to reboot your system.
  1223.  
  1224.  
  1225.  
  1226.  
  1227.        EDITING YOUR FIRST SCREEN
  1228.        ──────────────────────────────────────────────────────────────────────
  1229.        Time to try some more interesting things.  Restart TheDraw  and select
  1230.        "Load" from the Files pulldown menu.  A listing of all available files
  1231.        is displayed.  Type in:
  1232.  
  1233.       ADDRESS   (TheDraw assumes the .ANS extension)
  1234.  
  1235.        Press [ENTER] to load  your  screen.    Everything  should  now appear
  1236.        exactly as  it did  before leaving  TheDraw previously.   To spruce up
  1237.        your address, let's try adding some color.
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.        TheDraw v4.51          Getting Started                9
  1247.  
  1248.  
  1249.  
  1250.  
  1251.        CHANGING COLORS:
  1252.  
  1253.        To change the color things are drawn with, select "Fore/Back" from the
  1254.        Colors  pulldown  menu  (or  the  shortcut [ALT-A]).  A screen appears
  1255.        showing the color palettes.  There are two groups, one  for foreground
  1256.        colors and the bottom smaller group for background colors.
  1257.  
  1258.        You choose  new colors  either by  using the  arrow keys or typing the
  1259.        number associated with a color.  Press [ENTER] once you decide.
  1260.  
  1261.        For example, to select a  Yellow  foreground  (color  14)  and  a Blue
  1262.        background (color 1):
  1263.  
  1264.         Please Select Foreground Color (0-31):  14  [ENTER]
  1265.         Please Select Background Color (0-7):   1   [ENTER]
  1266.  
  1267.        After pressing  [ENTER] for  the background  color, you  return to the
  1268.        edit screen.  Note the color example in the status line was updated.
  1269.  
  1270.  
  1271.  
  1272.        PAINTING THE SCREEN:
  1273.  
  1274.        To see the new color, put  the  cursor  inside  the  outline  box made
  1275.        earlier.  Now select "Paint/Fill" from the Options pulldown menu.
  1276.  
  1277.        Painting in  TheDraw refers  to the  effect of  pouring paint onto the
  1278.        screen.   The pouring  starts where  the cursor  is located.   You can
  1279.        paint  just   color  attributes,   just  character   symbols,  or  any
  1280.        combination.  We want only the address colors changes.  Thus:
  1281.  
  1282.       o  Choose [A] for Attributes.   Notice  how painting  is blocked by
  1283.          the lines of the address outline.
  1284.  
  1285.       o  Use the  color change  command again,  this time selecting Light
  1286.          Green on Black (foreground = 11, background = 0).
  1287.  
  1288.       o  Once back at the edit screen, move the cursor out  away from the
  1289.          outline box.
  1290.  
  1291.       o  Select "Paint/Fill" once more, choosing the [B]oth option.
  1292.  
  1293.       o  When TheDraw  prompts for  a fill  character; type  in a forward
  1294.          slash "/" symbol.
  1295.  
  1296.        Your address is now an island in the  middle of  a green  field.  Save
  1297.        these changes as described previously using the filename:
  1298.  
  1299.          ADDRESS2.ANS
  1300.  
  1301.        Press [ENTER] to save the screen to disk.
  1302.  
  1303.  
  1304.        TheDraw v4.51          Getting Started               10
  1305.  
  1306.  
  1307.  
  1308.  
  1309.        MAKING YOUR SECOND THEDRAW SCREEN
  1310.        ──────────────────────────────────────────────────────────────────────
  1311.        Now  for  a  little  more  pizazz.    For  this screen lets experiment
  1312.        duplicating the special effects  found  in  the  DEMO.TD  example file
  1313.        (more or  less).   To see  the sample  file beforehand, use the "Load"
  1314.        option from the Files pulldown.  Type in:
  1315.  
  1316.          DEMO.TD
  1317.  
  1318.        Press [ENTER] to load  it.   Follow the  on screen  instructions for a
  1319.        quick introduction  to the  block and  sprite features.  These will be
  1320.        explained below as your own version of this example gets put together.
  1321.  
  1322.        To get rid of the DEMO.TD example, choose the "Clear Page" option from
  1323.        the Screen pulldown (or type the shortcut [ALT-C]).   Answer  [A]ll to
  1324.        the  first  verify  prompt,  and  [Y]es  to  the  second verify.  This
  1325.        completely clears away everything.
  1326.  
  1327.  
  1328.  
  1329.        DRAWING LINES:
  1330.  
  1331.        Position the cursor at column 10, line 5.   Use  the arrow  keys until
  1332.        the status line coordinates read (10, 5).  In the first screen we used
  1333.        the Global Outline command to draw a box around your address.  TheDraw
  1334.        has another way of drawing lines too.
  1335.  
  1336.        From the  Toggles pulldown, choose "Draw Mode" to turn on line drawing
  1337.        mode (shortcut is [ALT-M]).  Moving the cursor now draws a line.  Also
  1338.        note the word "Draw" where "Text" was before on the status line.
  1339.  
  1340.        Lets make a small box.  The arrows below indicate the cursor movements
  1341.        required to produce the box.   Note  the  special  attention  given to
  1342.        finishing off the last corner (step 5):
  1343.  
  1344.            »»»»»»                        »
  1345.            ─────┐      ─────┐      ─────┐    ^│─────┐     ┌─────┐
  1346.             │v      │           │    ^│     │     │     │
  1347.                 │v   ^│     │     │     │     │     │
  1348.                    ─┘v    └─────┘     └─────┘     └─────┘
  1349.                    «      «««««
  1350.  
  1351.            Step 1      Step 2      Step 3      Step 4      Step 5
  1352.  
  1353.  
  1354.        Turn off  line drawing  using the Toggles pulldown or pressing [ALT-M]
  1355.        again.  Following the  above  guide,  we  moved  horizontally  six (6)
  1356.        spaces and  vertically three  lines (3)  to create  the box.   The end
  1357.        result however is seven (7) characters wide, and four (4) lines deep.
  1358.  
  1359.  
  1360.  
  1361.  
  1362.        TheDraw v4.51          Getting Started               11
  1363.  
  1364.  
  1365.  
  1366.  
  1367.        Move the cursor to coordinates ( 6, 3)  and repeat  the box procedure.
  1368.        This time  move horizontally  14 spaces instead of 6, and vertically 7
  1369.        lines instead of just 3.  You end up with:
  1370.  
  1371.                   ┌─────────────┐
  1372.                   │         │
  1373.                   │   ┌─────┐   │
  1374.                   │   │     │   │
  1375.                   │   │     │   │
  1376.                   │   └─────┘   │
  1377.                   │         │
  1378.                   └─────────────┘
  1379.  
  1380.        These are the exact dimensions of the blue box in  the DEMO.TD example
  1381.        screen.  To colorize the double box, we'll use a block command.
  1382.  
  1383.        Note:    Please  refer  to  the  section  "SELECT  DRAW MODE" for more
  1384.        discussion on line drawing.
  1385.  
  1386.  
  1387.        MARKING A BLOCK:
  1388.  
  1389.        One of TheDraw's most useful features  is its  block editing facility.
  1390.        You can  carry out  a wide  variety of operations on specific parts of
  1391.        the screen.  Areas can be copied, moved, erased, deleted, filled, have
  1392.        text operations  performed, saved,  etc...  Several block commands are
  1393.        mirrors of the global screen functions you have already experienced.
  1394.  
  1395.        To color the double  box,  let's  first  choose  some  new attributes.
  1396.        Press  [ALT-A]  and  pick  a  Yellow  foreground  (color 14) on a Blue
  1397.        background (color 1).
  1398.  
  1399.        Marking  means  highlighting  the  area  you   want  block  operations
  1400.        performed on.   Begin  marking a  block by pressing [ALT-B].  Position
  1401.        the cursor on the  upper-left corner  of the  large box  and press the
  1402.        [SPACE] bar.   Now  move the  cursor to  the lower-right corner of the
  1403.        large box and press [SPACE] again.  Notice how the existing colors are
  1404.        emphasized to clearly show the block mark.
  1405.  
  1406.       Mouse Users:   Move  the  cursor  to  the upper-left corner.  Press
  1407.              and hold down the LEFT mouse  button.   Now drag the
  1408.              cursor  to  the  lower-right  corner and release the
  1409.              left button.
  1410.  
  1411.        All block options are now displayed.  Select [F]ill, and the suboption
  1412.        [A]ttributes to colorize the double box to yellow on blue.  Other fill
  1413.        suboptions  affect  just  foreground  colors,  just  backgrounds, just
  1414.        characters (without affecting color), or both colors and characters.
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.        TheDraw v4.51          Getting Started               12
  1421.  
  1422.  
  1423.  
  1424.  
  1425.        There is  one more step before the double box is finished.  The inside
  1426.        region of the small box must be erased.   Let's  use another  block to
  1427.        accomplish this:
  1428.  
  1429.       o  Position the  cursor to coordinates (11, 6).  This is the upper-
  1430.          left corner of the inside region.
  1431.  
  1432.       o  Mark a block covering all the inside region.
  1433.  
  1434.       o  Lastly, select the block option [E]rase.
  1435.  
  1436.        There you have it; a replica of the blue box  in DEMO.TD!   Blocks are
  1437.        invaluable for making alterations of any sort.
  1438.  
  1439.  
  1440.  
  1441.        USING SPRITE MODE:
  1442.  
  1443.        While following  the DEMO.TD  example, you  saw the red box on page 2.
  1444.        Until now all our editing was done on page 1,  but TheDraw  can handle
  1445.        eight  pages  simultaneously.    One  possible  use  is  block copying
  1446.        regions from one  screen  to  another.    Normally  you  see  only the
  1447.        individual pages, totally separate from one another.
  1448.  
  1449.        Sometimes however, it is useful to see all the pages at once.  TheDraw
  1450.        calls this Sprite Editing Mode.  Pages are treated as  glass sheets or
  1451.        layers stacked  atop one another.  You are positioned over the topmost
  1452.        "glass layer" (page 1) looking down.  ie:
  1453.  
  1454.                        ┌────────┐
  1455.                       .│      . │
  1456.                     .  │    .   │ Bottommost Page
  1457.                  ┌────────┐    8│
  1458.                    ┌─┴──────┐ │─────┘
  1459.                  ┌─┴──────┐ │ │   .
  1460.                  │        │ │3│ .
  1461.            Topmost Page  │        │2├─┘
  1462.                  │       1├─┘
  1463.                  └────────┘
  1464.  
  1465.        The DEMO.TD example uses Sprite Editing.  The blue box  is on  page 1,
  1466.        but the  red box  is on page 2.  The blue box appears over the red one
  1467.        because of the simulated glass  layers  effect.    The  red  box would
  1468.        appear over anything on pages 3 to 8, and so on...
  1469.  
  1470.        Now to try out Sprites in our screen.  We need a visible object on the
  1471.        second page.  The following draws a box for this purpose:
  1472.  
  1473.       o  Change to page 2.  Do  this by  choosing "Select  Page" from the
  1474.          Screen pulldown,  or typing  [ALT-E] (the  shortcut).  Press the
  1475.          "2" key for the second page layer.
  1476.  
  1477.  
  1478.        TheDraw v4.51          Getting Started               13
  1479.  
  1480.  
  1481.  
  1482.  
  1483.       o  Pick "Fore/Back" from the Colors pulldown  (shortcut is [ALT-A])
  1484.          and  select  the  colors  of  Light  Red  on Red (foreground=12,
  1485.          background=4).
  1486.  
  1487.       o  Position the cursor in  the  upper-left  corner  of  the screen-
  1488.          coordinates ( 1, 1).
  1489.  
  1490.       o  Press [ALT-B],  and hit  the [SPACE]  bar.   Move to coordinates
  1491.          (12, 6) then hit [SPACE] the second time.
  1492.  
  1493.       o  Choose  the  [T]ext  option,  and  then   the  [B]ox  suboption.
  1494.          TheDraw draws a red box on the screen.
  1495.  
  1496.       o  Move  the  cursor  inside  the  box, and select "Paint" from the
  1497.          Options pulldown menu.  Select the [B]oth option,  and press the
  1498.          minus key "-" for a fill character.
  1499.  
  1500.        This page  now contains  an object to act as a sprite.  Switch back to
  1501.        page 1 by typing [ALT-E] and press the "1" key.
  1502.  
  1503.        If you loaded the  DEMO.TD  example  earlier,  TheDraw  is  already in
  1504.        sprite mode.  The status line page number appears in capitals.  ie:
  1505.  
  1506.         "Page:1"      Sprite mode is off
  1507.         "PAGE:1"      Sprite mode is on
  1508.  
  1509.        If sprite  mode is  off, type  [ALT-E] and choose the [T]oggle option.
  1510.        Once sprite mode is  enabled you  can see  the red  box underneath the
  1511.        double blue box.
  1512.  
  1513.        Nothing you  do to  page 1  will affect the contents of any page lower
  1514.        down.  Try moving to coordinates  ( 1,  1) and  inserting a  few blank
  1515.        lines by  typing [ALT-I].   Notice how the red box stays put while the
  1516.        blue box shifts.  This is the significance of Sprite editing mode.
  1517.  
  1518.        You can place various parts of  a  screen  on  different  page layers.
  1519.        Changing  one  part  can  never  accidentally  affect  any  other.  In
  1520.        animation mode sprites  make  certain  special  effects  very  easy to
  1521.        produce.   Such as having one object "slide" under another.  Animation
  1522.        mode is introduced below.  Please refer to "THE ANIMATION  SYSTEM" for
  1523.        more information.
  1524.  
  1525.        You might  wish to  save this  second screen  now.   Type [ALT-S], and
  1526.        select TheDraw's custom file  format by  typing [T].   This  will save
  1527.        both pages 1 and 2 since they contain data.  Enter the filename:
  1528.  
  1529.       BOXES     (TheDraw assumes a .TD extension)
  1530.  
  1531.        Press [ENTER] to save to disk.
  1532.  
  1533.  
  1534.  
  1535.  
  1536.        TheDraw v4.51          Getting Started               14
  1537.  
  1538.  
  1539.  
  1540.  
  1541.        ANIMATING YOUR SECOND THEDRAW SCREEN
  1542.        ──────────────────────────────────────────────────────────────────────
  1543.        Possibly the  most intriguing  and confusing  facet of  TheDraw is its
  1544.        Animation mode.  The animation  system  allows  creating  screens with
  1545.        movement, adding excitement to your presentations.
  1546.  
  1547.        In  animation  mode,  TheDraw  remembers  the  exact  pattern in which
  1548.        something is  entered.   In contrast,  the normal  static screens used
  1549.        until now only store what was typed and where.
  1550.  
  1551.        When saving  a static  screen, there is no notion of how it was drawn.
  1552.        The normal presumption is such screens  are saved  top to  bottom (how
  1553.        else would  you want  to?)    The  ADDRESS.ANS file  was saved in this
  1554.        manner.  Recall how it appeared when typed from the dos prompt.
  1555.  
  1556.        Animation mode goes one  step further  by also  remembering -when- you
  1557.        typed  something.    This  extension  permits you to control the exact
  1558.        sequence keystrokes appear.
  1559.  
  1560.        Instead of merely top-to-bottom, any display  order is  possible.  You
  1561.        can make screens display sideways if the urge hits.
  1562.  
  1563.  
  1564.        SELECTING A SCAN PATTERN:
  1565.  
  1566.        To ease the pain of making animated screens, TheDraw contains fourteen
  1567.        preprogrammed display patterns.  There are also two  variation toggles
  1568.        which boost  the actual  number of  patterns to  over 50.  See section
  1569.        "ANIMATION SCAN PATTERNS"  under  "HOW  TO  ANIMATE  SOMETHING"  for a
  1570.        complete description.
  1571.  
  1572.        To  convert  your  second  screen  into  an animation sequence, do the
  1573.        following:
  1574.  
  1575.       o  Select "Animation Mode" from the  Toggles  pulldown  or  use the
  1576.          shortcut  key  [ALT-J].    A  list  of the preprogrammed display
  1577.          patterns appears.
  1578.  
  1579.       o  Choose the [A]ngle pattern.   TheDraw  scans the  static screens
  1580.          on pages 1 and 2 into the animation sequence.
  1581.  
  1582.        That's it!   The word "PAGE" in the status line has changed to "ANIM".
  1583.        Also, above the status line is an indicator similar to:
  1584.  
  1585.                   Used:00317  Free:15683
  1586.  
  1587.        The first number lists  the number  of keystroke  entries currently in
  1588.        the animation  sequence.  The second is how many additional keystrokes
  1589.        TheDraw can store.  The maximum free space  is 16000  entries, however
  1590.        that could vary depending on how much free memory is available.
  1591.  
  1592.  
  1593.  
  1594.        TheDraw v4.51          Getting Started               15
  1595.  
  1596.  
  1597.  
  1598.  
  1599.        VIEWING THE ANIMATION SEQUENCE:
  1600.  
  1601.        Let's  see  what  the  animation  sequence  looks like in slow motion.
  1602.        Select the "Screen Redraw"  from the  Animation pulldown  (shortcut is
  1603.        [ALT-Q]).
  1604.  
  1605.        TheDraw prompts  for a redraw speed, to control how fast the animation
  1606.        sequence appears.  A speed of 0 is maximum speed.  A  speed of  255 is
  1607.        very slow, about 5-10 keystrokes per second.
  1608.  
  1609.        Type in  the number 50 and press [ENTER].  You can now see exactly how
  1610.        the animation will appear once saved to disk.  Once  it completes, use
  1611.        the redraw command with some other speeds to get a better feel for it.
  1612.  
  1613.        Try changing  the animation  scan pattern.   Select "Rescan Animation"
  1614.        from the Animation pulldown (shortcut  is  [ALT-J],  [R]escan).   Pick
  1615.        some other animation pattern, then view them using Screen Redraw.
  1616.  
  1617.  
  1618.  
  1619.        SAVING ANIMATION:
  1620.  
  1621.        Saving animation  screens to disk is almost identical to saving normal
  1622.        static screens.  The only difference is in the available file formats.
  1623.        Only Ansi  and TheDraw  (TD) custom  formats are possible.  Only these
  1624.        two permit saving how the animation sequence was  created.   Note that
  1625.        TD formats also store page data.
  1626.  
  1627.        Ansi files can be typed from Dos.  These are very popular for bulletin
  1628.        board systems, sign on introductions, presentations, etc...   The only
  1629.        problem is  they cannot  store data  about individual pages and sprite
  1630.        mode.  Ansi files only save exactly what is "seen" on the  video.  Any
  1631.        keystrokes which are hidden underneath other objects are lost.
  1632.  
  1633.        TD files  are designed  for maximum speed.  It is usually best to keep
  1634.        one copy  of an  animations sequence  in this  format.   The TD format
  1635.        stores  information  on  everything  including  the sprite mode.  Most
  1636.        users save both TD and Ansi formats, since Ansi can be typed  from the
  1637.        Dos prompt.  For now, lets save an Ansi file.
  1638.  
  1639.        Press [ALT-S],  and choose  [A]nsi.   Press [ENTER]  past the options.
  1640.        For a filename enter:
  1641.  
  1642.       BOXES.ANS
  1643.  
  1644.        Press [ENTER] to save to disk.  The animation system  was only briefly
  1645.        touched  upon  here.    The  are  a  large  number  of  other features
  1646.        available.  Almost all commands available for static screens will work
  1647.        with  animation  mode.    Various  commands respond differently to the
  1648.        animation sequence.  For complete coverage,  please see  refer to "THE
  1649.        ANIMATION SYSTEM".
  1650.  
  1651.  
  1652.        TheDraw v4.51          Getting Started               16
  1653.  
  1654.  
  1655.  
  1656.  
  1657.        We have now run through the most important of TheDraw's many features.
  1658.        You are encouraged  to  explore  in  detail  the  variety  of commands
  1659.        available.  It is recommended to save your work periodically to create
  1660.        a log of your efforts.  In this way, as you develop new skills you can
  1661.        document them  to avoid forgetting that one crucial step or neat idea.
  1662.  
  1663.        We have  covered keystroke  entry, editing,  changing colors, painting
  1664.        areas,  drawing   lines/boxes/outlines,  using  blocks,  sprite  mode,
  1665.        animation  mode,  animation  scan  patterns,  and   viewing  animation
  1666.        sequences.
  1667.  
  1668.        You  should  eventually  read  the  "OPERATING  THEDRAW" section.  The
  1669.        section explains the  status  line,  obtaining  help,  cursor control,
  1670.        using the mouse, and gives a summary of commands.
  1671.  
  1672.        Refer  to  "PULL-DOWN  MENU  SYSTEM"  for  brief  explanations  of all
  1673.        commands.  Detailed descriptions are found in "THEDRAW COMMANDS".
  1674.  
  1675.        Those who program should see "TIPS  AND EXAMPLES  FOR PROGRAMMERS" for
  1676.        insight into using TheDraw saved files in your own work.
  1677.  
  1678.  
  1679.  
  1680.        THE EXAMPLE FILES
  1681.        ──────────────────────────────────────────────────────────────────────
  1682.        TheDraw comes  with four  demonstration files to help show some of its
  1683.        capabilities; SHUTTLE2.ANS, DEMO.TD, SHADING.TD, and EFFECTS.BIN.
  1684.  
  1685.        SHUTTLE2.ANS is  a simple  animation example  which you  can view from
  1686.        the dos prompt by entering:
  1687.  
  1688.       TYPE SHUTTLE2.ANS
  1689.  
  1690.        Press  [ENTER]  to  see  the  example  run through.  You must have the
  1691.        ANSI.SYS driver installed in your CONFIG.SYS  file for  this to appear
  1692.        properly.  See APPENDIX A for more details on the CONFIG.SYS file.  If
  1693.        you do not have ANSI.SYS, the THEPP utility provided with registration
  1694.        can be used alternatively (ie: THEPP SHUTTLE2.ANS [ENTER]).
  1695.  
  1696.        The  second  demo  file,  DEMO.TD,  demonstrates  the block and sprite
  1697.        editing features of TheDraw.  To  use  it,  run  TheDraw  as described
  1698.        above.   Next, press  ALT-L and  type DEMO.TD  [ENTER].   Instructions
  1699.        will appear on screen showing what to do next.
  1700.  
  1701.        The  third  file,  SHADING.TD,  is  an  example  of  all  color  shade
  1702.        variations possible  within TheDraw.  Load as the previous example was
  1703.        (ie: ALT-L, then type SHADING.TD [ENTER]).   Three  pages are occupied
  1704.        by the example.  Select pages by pressing [ALT-E] followed by a number
  1705.        1, 2 or 3.    Each  page  uses  a  different  fill  character.   Those
  1706.        frustrated by  a seemingly  limited color  palette may be surprised at
  1707.        the wide variation actually possible.
  1708.  
  1709.  
  1710.        TheDraw v4.51          Getting Started               17
  1711.  
  1712.  
  1713.  
  1714.  
  1715.        To duplicate a shading example, press [ALT-F6] to  select function key
  1716.        set 6.   Set  the colors as specified on the example by using [ALT-A].
  1717.        Foreground colors are vertical and background colors horizontal.   Now
  1718.        type [F1], [F2], or [F3] keys to see the shading result.
  1719.  
  1720.        The last  demo file,  EFFECTS.BIN, shows  two easy special effects you
  1721.        may like to use.  The  first  is  the  illusion  of  a  rotating color
  1722.        banner.  This is done with flashing foreground colors (16 to 31 in the
  1723.        color  select  screen).    Alternating  characters   have  alternating
  1724.        foreground/background attributes.  ie:
  1725.  
  1726.                    │ Character #1   │  Character #2
  1727.            ────────────┼────────────────┼───────────────
  1728.            Foreground: │ Flashing Red   │  Flashing Gray
  1729.            Background: │ Gray       │  Red
  1730.            ────────────┴────────────────┴───────────────
  1731.  
  1732.        Combine the  above color  scheme with the a block symbol from function
  1733.        key set #6.  Press key [F4]  with  attributes  in  #1  above.   Change
  1734.        attributes to  #2 and  press [F4] again.  The blocks will appear to be
  1735.        alternating.
  1736.  
  1737.        The restriction to this technique  is  the  flashing  foreground color
  1738.        must  match  an  available  background  color.   Since there are eight
  1739.        background colors,  the flashing  foreground colors  16 to  23 are the
  1740.        possible options.
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.  
  1749.  
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.        TheDraw v4.51          Getting Started               18
  1769.  
  1770.  
  1771.  
  1772.  
  1773.                  OPERATING THEDRAW
  1774.  
  1775.  
  1776.        COMMAND LINE FILESPECS
  1777.        ──────────────────────────────────────────────────────────────────────
  1778.        For convenience,  TheDraw allows  you to  specify a  filespec from Dos
  1779.        when first running the program.  ie:
  1780.  
  1781.                   THEDRAW DEMO.TD
  1782.  
  1783.        Only one file may be specified this way.   All  files are  loaded onto
  1784.        page  layer  one  (except  for  THEDRAW format files which may contain
  1785.        multiple layers).
  1786.  
  1787.  
  1788.  
  1789.        THE STATUS LINE
  1790.        ──────────────────────────────────────────────────────────────────────
  1791.        The status line of TheDraw shows  various information  about the state
  1792.        of the program.  Each structure in the status line is described below:
  1793.  
  1794.       (xx,xx)        Displays the current cursor position.
  1795.  
  1796.       Color      Indicates the  current drawing color.  This color is
  1797.              used for any new characters placed onto the screen.
  1798.  
  1799.       Text,      The word displayed indicates if TheDraw is in normal
  1800.       Attr, or       text, color draw mode, or line draw mode.  In color
  1801.       Draw       draw mode, moving the  cursor changes  characters to
  1802.              the  current  colors.      In  Draw mode, moving the
  1803.              cursor with the arrow keys draws a line in the moved
  1804.              direction.
  1805.  
  1806.       Ins        Appears  when  TheDraw  is in Insert keystroke mode.
  1807.              When on, typing a character shifts everything to the
  1808.              right to make room for the new character.
  1809.  
  1810.       Page:x or      Indicates the current screen page edit layer.  In
  1811.       Anim:x     animation  mode  (see  The Animation System for more
  1812.              details), the word Anim appears.   In addition, this
  1813.              structure indicates  when TheDraw  is in sprite edit
  1814.              mode (see ALT-E).   In  sprite  mode,  the structure
  1815.              appears in capital letters.  ie: PAGE or ANIM.
  1816.  
  1817.       Set:xx     Number of  the current  function key  set.  This set
  1818.              appears immediately after this indicator.
  1819.  
  1820.  
  1821.        Note: The symbol "x" or "xx" indicates a number of some value.
  1822.  
  1823.  
  1824.  
  1825.  
  1826.        TheDraw v4.51         Operating TheDraw              19
  1827.  
  1828.  
  1829.  
  1830.  
  1831.        HELP!
  1832.        ──────────────────────────────────────────────────────────────────────
  1833.        The shareware version of TheDraw contains  three outline  help screens
  1834.        available from  command mode (no sub-functions being used) by pressing
  1835.        ALT-H.  These outline screens display brief notes about all operations
  1836.        available in the program.
  1837.  
  1838.        The registered version of TheDraw supports context sensitive help.  In
  1839.        other words, pressing ALT-H anywhere  in  the  program  will  bring up
  1840.        specific information on that area of TheDraw.  This can be very useful
  1841.        during the learning stage or for rarely used functions.
  1842.  
  1843.  
  1844.  
  1845.        CURSOR CONTROL
  1846.        ──────────────────────────────────────────────────────────────────────
  1847.        The cursor may be moved by using the following keys:
  1848.  
  1849.         Key           Action
  1850.         ─────────────────────────────────────────────────────
  1851.         Up Arrow      Up one line
  1852.         Down Arrow    Down one line
  1853.         Left Arrow    Left one position
  1854.         Right Arrow   Right one position
  1855.         Home          First column of current line
  1856.         End           Last column of current line
  1857.         PgUp          First line in current column
  1858.         PgDn          Last line in current column
  1859.         Ctrl-Home     First Character of current line
  1860.         Ctrl-End      Last Character of current line (plus 1)
  1861.         Ctrl-PgUp     Upper-left position of screen
  1862.         Ctrl-PgDn     Lower-right position of screen
  1863.         Tab           Next set Tab position (see Alt-T)
  1864.         Shift-Tab     Previous set Tab position (see Alt-T)
  1865.         Enter         First column of following line
  1866.         ─────────────────────────────────────────────────────
  1867.  
  1868.        Naturally, if you attempt  to move  past the  screen border  no action
  1869.        will  be  taken.    If  no  tab position follows the current location,
  1870.        pressing [TAB] will return you to column one of the current line.
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.        TheDraw v4.51         Operating TheDraw              20
  1885.  
  1886.  
  1887.  
  1888.  
  1889.        MOUSE CONTROL
  1890.        ──────────────────────────────────────────────────────────────────────
  1891.        TheDraw fully supports the use  of  a  Microsoft  Mouse  or compatible
  1892.        device.    Pull  down  menus  and  other facilities are available (see
  1893.        section PULL DOWN MENU SYSTEM).   You may  use either  a two  or three
  1894.        button mouse with TheDraw.
  1895.  
  1896.        The mouse  operates differently depending on where you are in TheDraw.
  1897.        At command mode (no sub-functions in use) the mouse functions are:
  1898.  
  1899.          MOVEMENT:        Moves cursor.
  1900.          LEFT BUTTON:     Marks a block.
  1901.          MIDDLE BUTTON:   Toggles line drawing mode
  1902.          RIGHT BUTTON:    Activates pull down menu system.
  1903.  
  1904.  
  1905.        In any sub-function:
  1906.  
  1907.          MOVEMENT:        Moves cursor/block/screen/etc...    If movement
  1908.                   is allowed, you can use the mouse.
  1909.          LEFT BUTTON:     Equivalent to pressing [ENTER].
  1910.          MIDDLE BUTTON:   Unused.
  1911.          RIGHT BUTTON:    Displays a  small window  with all current menu
  1912.                   options.
  1913.  
  1914.  
  1915.        Someone comfortable with a mouse will  find TheDraw  easy to  get used
  1916.        to.   The mouse is usable everywhere in the program.  If no particular
  1917.        mouse indicator appears, the RIGHT mouse button will  generally pop up
  1918.        a window  with available  options.   Simply click  the RIGHT button on
  1919.        the wanted option to select it.
  1920.  
  1921.        Users without a mouse  will  find  TheDraw  operates  normally without
  1922.        change.
  1923.  
  1924.        Note: A  Microsoft  compatible  mouse  driver  (MSMOUSE.SYS or similar
  1925.          program) must be  installed  into  your  CONFIG.SYS  file before
  1926.          TheDraw  will   recognize  the  device.    See  APPENDIX  A  for
  1927.          information  on  system  configuration.    Once  the  driver  is
  1928.          installed, TheDraw auto-detects the mouse presence.
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.        TheDraw v4.51         Operating TheDraw              21
  1943.  
  1944.  
  1945.  
  1946.  
  1947.        COMMAND SUMMARY
  1948.        ──────────────────────────────────────────────────────────────────────
  1949.        TheDraw provides the following 37 command functions, available through
  1950.        ALT-Letter or CTRL-Letter key sequences plus a pull-down menu system.
  1951.  
  1952.       ──────────────────────────────────────────────────────────────────
  1953.              Alt-A     Change Text Color Attributes
  1954.              Alt-B     Block Action Commands
  1955.              Alt-C     Clear Current Screen
  1956.              Alt-D     Set Default Clear Screen Color
  1957.              Alt-E     Select Screen Page Layers
  1958.              Alt-F     View Function Key Sets
  1959.              Alt-G     Global Commands
  1960.              Alt-H     Display Help Information
  1961.              Alt-I     Insert a Line
  1962.              Alt-J     Animation Options
  1963.              Alt-K     Delete a File
  1964.              Alt-L     Load Screen from Disk
  1965.              Alt-M     Select Draw Mode (toggle)
  1966.              Alt-N     Ruler
  1967.              Alt-O     Change Drive/Sub Directory
  1968.              Alt-P     Paint/Fill Commands
  1969.              Alt-Q     Redraw Screen (animator)
  1970.              Alt-R     Restore/Undo Changes
  1971.              Alt-S     Save Screen to Disk
  1972.              Alt-T     Tab Setup
  1973.              Alt-U     Use Colors under Cursor
  1974.              Alt-V     View a Screen (not load)
  1975.              Alt-W     Edit Character (animator)
  1976.              Alt-X     Exit TheDraw
  1977.              Alt-Y     Delete Current Line
  1978.              Alt-Z     Erase Cursor Character (animator)
  1979.              Alt--     Select Color Draw Mode (toggle)
  1980.              Alt-=     Toggle Macro Learning Mode (reg. version)
  1981.         Ctrl-PrtSc     Toggle Full Screen Editing mode
  1982.         Alt-Left Arrow     Delete column
  1983.        Alt-Right Arrow     Insert column
  1984.  
  1985.          Ctrl-Up Arrow     Increment Foreground Color
  1986.        Ctrl-Down Arrow     Decrement Foreground Color
  1987.        Ctrl-Left Arrow     Increment Background Color
  1988.       Ctrl-Right Arrow     Decrement Background Color
  1989.  
  1990.            Shift-Space     Put a "Solid" space on the Screen.
  1991.  
  1992.                ESC     Activate pull-down menu system from keyboard.
  1993.       ──────────────────────────────────────────────────────────────────
  1994.  
  1995.        The section THEDRAW KEYBOARD COMMANDS on the following  pages contains
  1996.        explanations for each of the above.
  1997.  
  1998.  
  1999.  
  2000.        TheDraw v4.51         Operating TheDraw              22
  2001.  
  2002.  
  2003.  
  2004.  
  2005.                    THE ANIMATION SYSTEM
  2006.  
  2007.  
  2008.        WHAT IS ANIMATION?
  2009.        ──────────────────────────────────────────────────────────────────────
  2010.        The animation system of TheDraw allows the user to create screens with
  2011.        movement, adding excitement to your presentations.  In animation mode,
  2012.        TheDraw  basically  remembers  the  exact  order  in  which  you enter
  2013.        something.  This  involves  what  you  type,  and  more significantly,
  2014.        where you  typed it.   For comparison, TheDraw normally saves a static
  2015.        image from the Top to Bottom of the  screen --  just like  any typical
  2016.        text file would be displayed.
  2017.  
  2018.        Animation  or  sequencing  allows  a  screen to be displayed bottom to
  2019.        top, totally against the  natural order  of things  (so far  as Dos is
  2020.        concerned anyway).   With the animation sequence you put characters in
  2021.        exact locations in any order you want.  Those keystrokes  are repeated
  2022.        in the  same order when played back.  For example typing the numbers 0
  2023.        through 9 backwards along the screen.  ie:
  2024.  
  2025.              ┌───────────────────────────────┐
  2026.              │                   │
  2027.              │                   │
  2028.              │      9 8 7 6 5 4 3 2 1 0      │
  2029.              │                   │
  2030.              │ ( <--- typed this direction ) │
  2031.              └───────────────────────────────┘
  2032.  
  2033.        Upon replay, the "0"  would appear  first, followed  by the  "1", "2",
  2034.        etc...   Exactly as  was typed.   Note in this example movement of the
  2035.        cursor was not stored, although it could be.  Storing cursor movements
  2036.        will be discussed later.
  2037.  
  2038.        Animation sequences can be saved in two different formats: ANSI (.ANS)
  2039.        and THEDRAW (.TD).  A sequence  saved in  Ansi can  be displayed using
  2040.        the  Dos  TYPE  command  on  any  computer  with  the  ANSI.SYS driver
  2041.        installed (see Appendix A on how to install it).  Ansi files  are also
  2042.        used  widely  on  bulletin  board  systems.   TheDraw is not needed to
  2043.        display Ansi files once created.
  2044.  
  2045.        TheDraw's custom file format  (TD)  is  used  for  quickly  saving and
  2046.        loading animation sequences to disk.  The Presentation Program (THEPP)
  2047.        can display an animation sequence saved in TheDraw format.
  2048.  
  2049.        For an example of Ansi Animation,  enter "TYPE  SHUTTLE2.ANS" from the
  2050.        Dos prompt (once the ANSI.SYS driver is installed).
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.        TheDraw v4.51           The Animation System             23
  2059.  
  2060.  
  2061.  
  2062.  
  2063.        ANIMATION BASICS
  2064.        ──────────────────────────────────────────────────────────────────────
  2065.        TheDraw never  physically "moves"  an object when animating something.
  2066.        This is an illusion created by careful placement  of characters (which
  2067.        as you remember can be placed anywhere we want).  The "animation" of a
  2068.        display is done manually; moving those objects step by step.
  2069.  
  2070.        The illusion of movement is simple to describe:
  2071.  
  2072.       o  Draw an object.
  2073.       o  Erase it.
  2074.       o  Redraw object moved over slightly.
  2075.       o  Repeat the above.
  2076.  
  2077.        If done properly, the object  appears  to  move.    Nothing  is really
  2078.        "moving" per say, by we are simulating it.
  2079.  
  2080.        For an  example, imagine  an asterisk in the center of the screen.  We
  2081.        wish to have this asterisk move to the  right.   To do  this, first we
  2082.        put a space over the existing asterisk (thus erasing it), then display
  2083.        a new asterisk over to the right (redrawing it).   Repeating this will
  2084.        "animate" the asterisk, since it appears to move.  ie:
  2085.  
  2086.       ┌─┬─┬─┬─┬─┬─┬─┐
  2087.       │ │ │ │*│ │ │ │       Asterisk as it initially was drawn.
  2088.       └─┴─┴─┴─┴─┴─┴─┘
  2089.       ┌─┬─┬─┬─┬─┬─┬─┐
  2090.       │ │ │ │_│ │ │ │       Asterisk has been erased
  2091.       └─┴─┴─┴─┴─┴─┴─┘
  2092.       ┌─┬─┬─┬─┬─┬─┬─┐
  2093.       │ │ │ │_│*│ │ │       A new asterisk has been drawn shifted over.
  2094.       └─┴─┴─┴─┴─┴─┴─┘
  2095.       ┌─┬─┬─┬─┬─┬─┬─┐
  2096.       │ │ │ │_│_│*│ │       Above steps repeated.
  2097.       └─┴─┴─┴─┴─┴─┴─┘
  2098.  
  2099.        Do the  above process  quickly, and the user effectively sees movement
  2100.        because the eye smoothly connects the  old asterisk  position with the
  2101.        new one for us.
  2102.  
  2103.  
  2104.        A SIMPLE EXAMPLE
  2105.        ──────────────────────────────────────────────────────────────────────
  2106.        The easiest  animation example  under TheDraw to play with is a snake.
  2107.        Our snake, we'll call him Slither from now on, will  be a  simple life
  2108.        form who grows each time he is moved.  In effect, Slither's tail never
  2109.        shifts because he grows so rapidly.   To  create this  particular life
  2110.        form, enter  animation mode  by pressing  [ALT-J], then  [T]op.  Next,
  2111.        turn on line drawing with [ALT-M] ("Draw" appears on the status line).
  2112.  
  2113.  
  2114.  
  2115.  
  2116.        TheDraw v4.51           The Animation System             24
  2117.  
  2118.  
  2119.  
  2120.        To give arise to Slither, move the cursor with the  arrow keys.   Keep
  2121.        moving in  the same  direction and low and behold there he is.  Change
  2122.        direction, and move for a while.   Make Slither do as many twists and
  2123.        turns as you like, since he really enjoys a good run (or crawl?)
  2124.  
  2125.                  (example run of Slither)
  2126.              ┌───────────────────────────────────────┐
  2127.              │                       │
  2128.              │             ┌─┐    ┌───┐     │    │
  2129.              │     ┌───────────┘ │    │   │     │    │
  2130.              │     │         │    │   │     │    │
  2131.              │     │ ┌────────┐ ┌┘    │   └┐    │    │
  2132.              │     │ │    ┌─┐ │ │     │    └─┐  │    │
  2133.              │     └─┘    │ │ │ └─────┘      │  │    │
  2134.              │        │ │ │        ┌─────┘  │    │
  2135.              │       *────┘ └─┘        │    │    │
  2136.              │    (start)              └────────┘    │
  2137.              └───────────────────────────────────────┘
  2138.  
  2139.        Now for the moment of truth.  Make Slither repeat what he  just did by
  2140.        using animation  redraw (ALT-Q).  Enter a delay of about 100, then sit
  2141.        back and watch Slither perform for you exactly as he did before.
  2142.  
  2143.        Notice just how little  effort it  takes to  produce simple animation.
  2144.        Even  this  uncomplicated  approach  will  add that extra pizzazz to a
  2145.        presentation.  Possibilities include  drawing charts,  graphs, outline
  2146.        figures,  backdrops,  etc...    Your  imagination is the only limiting
  2147.        factor.
  2148.  
  2149.        The next section describes how to move objects (such as the asterisk
  2150.        example shown previously) with TheDraw.
  2151.  
  2152.  
  2153.        MAKING A BLOCK MOVE:
  2154.  
  2155.        The asterisk  example  showed  the  classic  method  for  moving small
  2156.        objects.   ie: draw, erase, draw, repeat...   However, the Ansi driver
  2157.        under which our animation  special effects  operate is  quite limited.
  2158.        The illusion  of movement  is lost with large objects because too much
  2159.        time is spent erasing and redrawing them.  A better way is needed.
  2160.  
  2161.        For larger objects, we can use  the block  copy facility.   First draw
  2162.        the object, and decide what direction things will move.
  2163.  
  2164.        Now, mark  a block  over the  object -plus- an extra blank line on the
  2165.        side -opposite- to the direction of movement.  ie:
  2166.  
  2167.        block mark outline --> ┌───────┐
  2168.                   │ OBJECT│ --> movement wanted in this direction
  2169.                   └───────┘
  2170.                    ^
  2171.                    └──── extra blank line
  2172.  
  2173.  
  2174.        TheDraw v4.51           The Animation System             25
  2175.  
  2176.  
  2177.  
  2178.  
  2179.        The complicated bit of actually "animating" follows:
  2180.  
  2181.       o  From the block options menu, choose block copy.
  2182.  
  2183.       o  Move the block once in the direction of movement and [S]tamp it.
  2184.  
  2185.       o  Move it again, and [S]tamp.  Repeat as many times as desired.
  2186.  
  2187.       o  For the last shift, press [ENTER] instead of stamping.
  2188.  
  2189.        That's it!  Now try redrawing with [ALT-Q].  You have created a moving
  2190.        object.  This new  approach is  similar to  the asterisk  example, but
  2191.        note we  do not explicitly erase the entire object before shifting and
  2192.        redrawing.  A good improvement making each shift almost twice as fast!
  2193.  
  2194.        Objects are generally larger than the  distance moved  between shifts,
  2195.        and afterwards occupy most of the same space as before.  Thus, why you
  2196.        may ask, bother erasing an area if only to immediately  be overwritten
  2197.        again?  We can avoid wasting time and things will go faster.
  2198.  
  2199.                 ┌─┌─┌─┌──────────────────┐
  2200.                 │░│░│░│██████████████████│
  2201.                 │░│░│░│██████████████████│
  2202.                 │░│░│░│█████ Object █████│
  2203.                 │░│░│░│██████████████████│
  2204.                 │░│░│░│██████████████████│
  2205.                 └─└─└─└──────────────────┘
  2206.                  ^ ^ ^
  2207.                  └─┴─┴── old portion of object,
  2208.                      "erased" by blank line
  2209.  
  2210.        The  extra  blank  line  erases  what  needs  erasing, and the redrawn
  2211.        object overwrites the rest.  By using more than one  blank column/line
  2212.        (and stepping  more than once between stamps), the movement appears to
  2213.        go faster still.
  2214.  
  2215.        Notice that block copy was used, not block  move.   In animation mode,
  2216.        the  block  move  relocates  animation  entries in the block.  Copying
  2217.        leaves the original in place, and -overwrites- it with the moved copy.
  2218.        Just like the asterisk example, we didn't move it, we overwrote it.
  2219.  
  2220.        Block move  physically moves  the object  to the first stamp location.
  2221.        If you redraw the  animation sequence,  you would  find no "movement".
  2222.        The object is drawn only once, where it was moved over to (at least on
  2223.        the first stamp).   Additional stamps  would behave  as expected, only
  2224.        the first stamp would not be as expected.
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.        TheDraw v4.51           The Animation System             26
  2233.  
  2234.  
  2235.  
  2236.  
  2237.        EASY ANIMATION
  2238.        ──────────────────────────────────────────────────────────────────────
  2239.        Rather than start an entire animation screen from scratch, many people
  2240.        find it easier to take an existing static screen then  -add- animation
  2241.        to it.     TheDraw provides  several different patterns for converting
  2242.        static screens into animation sequences.   The patterns  specify how a
  2243.        screen is converted, one keystroke at a time.
  2244.  
  2245.  
  2246.        ANIMATION SCAN PATTERNS:
  2247.  
  2248.        TheDraw comes  with fourteen built in scan patterns.  In addition, the
  2249.        way the scan patterns work can  be adjusted  via two  pattern toggles.
  2250.        Use of the toggles yields over 50 possible combinations!  The starting
  2251.        scan patterns are:
  2252.  
  2253.      TOP          Starts at upper-left corner and goes across screen.
  2254.      LEFT         Starts at upper-left corner and goes down screen.
  2255.      CLOCK        Clockwise arm rotates around center of screen.
  2256.      CIRCLES      Growing circles starting from center of screen.
  2257.      CHECKERBOARD Alternating "checkerboard" squares from top of screen.
  2258.      ANGLE        Diagonal from upper-left corner scans across screen.
  2259.      GATE         Opposite lines from each side of screen left/right.
  2260.      PYRAMID      Pyramid shape from bottom center growing upwards.
  2261.      SQUARES      Squares starting from screen border growing inward.
  2262.      SCRAMBLE     Randomly scans entire screen
  2263.      DOOR         Scans top/bottom, on both sides of screen at once.
  2264.      DIAMOND      Growing diamond starting from center of screen.
  2265.      WIGGLE       Starts at upper-left alternating left and right.
  2266.      WIGGLEOUT    Starts in center of screen with  wiggle operation going
  2267.               both up and down at once.
  2268.  
  2269.        The two toggles which alter the above are:
  2270.  
  2271.      REVERSE      Completely reverses  a given  pattern.  First keystroke
  2272.               scanned becomes  the last,  the second  becomes next to
  2273.               last, and so on.
  2274.  
  2275.      FLIP         Exchanges the vertical coordinates in a scan.  Assume a
  2276.               25 line edit buffer.  Any  scan location  on line  1 is
  2277.               changed to line 25 and visa versa.
  2278.  
  2279.        You  select  the  toggles  before  a  scan  pattern.  When a toggle is
  2280.        active, its corresponding indicator appears on the screen.
  2281.  
  2282.        As mentioned above, many people want to take a static  screen, display
  2283.        it normally,  then add  animation.   The option to use in that case is
  2284.        the Top scanner.  Scanning from the Top yields a sequence which cannot
  2285.        told apart from a static display; but animation can now be added.
  2286.  
  2287.  
  2288.  
  2289.  
  2290.        TheDraw v4.51           The Animation System             27
  2291.  
  2292.  
  2293.  
  2294.  
  2295.        RECORDING CURSOR MOVEMENTS:
  2296.  
  2297.        Occasionally the  ability to record actual cursor movements is useful.
  2298.        They could  be used  as short  pauses, or  a distraction  to the user.
  2299.        Instead of putting keystrokes everything, having the cursor jump about
  2300.        could be sufficient.  TheDraw can record such cursor movements.
  2301.  
  2302.        Toggle on/off cursor movement recording by  picking "Movement Storage"
  2303.        from the  Animation pulldown.  The shortcut command is typing [ALT-J],
  2304.        then [M]ovement.  Moving the cursor in any way adds new entries to the
  2305.        animation sequence.
  2306.  
  2307.        One use for this mode is adding short pauses.  You can have the cursor
  2308.        go around in circles giving the user time to reading something.  There
  2309.        is no definitive reason to use or not use this feature.
  2310.  
  2311.  
  2312.  
  2313.        EDITING AND DELETING ANIMATION ENTRIES
  2314.        ──────────────────────────────────────────────────────────────────────
  2315.        Editing an animation sequence is a bit more complicated than fixing up
  2316.        a static screen.  If you make a  mistake, you  must be  -VERY- careful
  2317.        about using the [DELETE] and [BACKSPACE] keys.  The problem is both of
  2318.        the above keys remove all animation entries from the cursor position.
  2319.  
  2320.        Take the case where you type 'A', 'B' and 'V' all in the same location
  2321.        (say the  upper-left corner).   Meaning the 'V' to be a 'C', you press
  2322.        [BACKSPACE].  Unfortunately, this  command removes  all three letters,
  2323.        not  just  the  'V'.    The  delete/backspace  keys  can be especially
  2324.        disruptive to large animation sequences.
  2325.  
  2326.        TheDraw offers a special command to  avoid this  problem.   Choose the
  2327.        "Erase Character"  command from the Animation menu (shortcut [ALT-Z]).
  2328.        This removes just the animation entries which are visible.  The 'V' in
  2329.        this case.  You then proceed by typing the 'C' as intended.
  2330.  
  2331.        An alternative  technique is the animation "Change Character" command.
  2332.        Choose it from the  Animation  pulldown  (shortcut  [ALT-W]),  and the
  2333.        existing  keystroke  under  the  cursor beings to flicker.  Meanwhile,
  2334.        TheDraw prompts for the  new character.   Now  you just  enter the new
  2335.        symbol and are done.
  2336.  
  2337.  
  2338.        CHANGING YOUR ANIMATION SCAN PATTERN:
  2339.  
  2340.        If you  decide to change the scan pattern you selected earlier, choose
  2341.        "Rescan Animation" from the Animation pulldown, or [ALT-J], [R]escan.
  2342.  
  2343.        Warning: All animation on the current page will be replaced.
  2344.  
  2345.  
  2346.  
  2347.  
  2348.        TheDraw v4.51           The Animation System             28
  2349.  
  2350.  
  2351.  
  2352.  
  2353.        TheDraw deletes all animation  from the  current page,  scans with the
  2354.        new pattern,  appending the  new results onto the end of the animation
  2355.        sequence.  Any customized changes you might have added are lost.  Only
  2356.        the current page is affected.  All other page layers stay intact.
  2357.  
  2358.        You could  place some  items on lower pages and use sprite mode.  This
  2359.        only works for things you want moved underneath objects on the current
  2360.        page.    The  registered  version  offers  a  better  solution  called
  2361.        animation limiting.
  2362.  
  2363.  
  2364.        ADVANCED ANIMATION EDITING
  2365.        ──────────────────────────────────────────────────────────────────────
  2366.        There are several more complex functions which enhance your ability to
  2367.        create  unique  special  effects.    These  include animation limiting
  2368.        offered in the registered  version,  Ansi  Include  files,  and making
  2369.        custom  Ansi  sequences.    The  latter especially useful with certain
  2370.        bulletin board systems.
  2371.  
  2372.  
  2373.        EDITING PARTIAL ANIMATION SEQUENCES:
  2374.  
  2375.        The shareware version of TheDraw only allows you to work on the end of
  2376.        an  animation  sequence.    You  can  add or remove things easily.  To
  2377.        update something at the beginning of a sequence is more awkward.
  2378.  
  2379.        The registered version help significantly by  adding a  feature called
  2380.        animation limiting.  Now you can change the point where editing occurs
  2381.        on the  animation sequence.   Instead  of only  the end,  you can edit
  2382.        anywhere  from  the  first  to  last  keystroke  entries.   A powerful
  2383.        improvement.
  2384.  
  2385.  
  2386.       ANIMATION LIMITING:
  2387.  
  2388.       Animation limiting  changes the  focal point  of TheDraw.   You can
  2389.       insert, delete  and change  any keystroke anywhere in the animation
  2390.       sequence.
  2391.  
  2392.       Choose "Limiting" from the Animation pulldown to activate  it.  Now
  2393.       use the  arrow keys,  [PGUP], [PGDN],  [HOME] or  [END] to position
  2394.       yourself inside  the sequence.   Once  you find  the correct place,
  2395.       press [ENTER].
  2396.  
  2397.       Picking a  edit focal  point is that easy.  When in the middle of a
  2398.       sequence, everything after the  focal point  is temporarily hidden.
  2399.       Now you can make any updates with no extra fuss.
  2400.  
  2401.       Once done,  you should  probably return to the end of the animation
  2402.       sequence.  Choose "Limiting" again.  Press [END] to reset the focal
  2403.       point, then [ENTER].
  2404.  
  2405.  
  2406.        TheDraw v4.51           The Animation System             29
  2407.  
  2408.  
  2409.  
  2410.  
  2411.       ANIMATION MARKERS:
  2412.  
  2413.       Markers provide a convenient way of jump around within an animation
  2414.       sequence.  Assume you constantly switch between the  point where an
  2415.       object is  drawn and  the sequence  end.  By setting a marker after
  2416.       the object appears you  can  switch  quickly,  instead  of manually
  2417.       positioning the focal point every time.
  2418.  
  2419.       To  set  a  marker,  first  position the focal point.  Next, choose
  2420.       "Marker" from the Animation  pulldown.   TheDraw displays  a window
  2421.       listing  all  current  markers.    If none are defined, the list is
  2422.       empty.  Type [S]et and enter a description of the marker.  ie:
  2423.  
  2424.         1:  Object has been drawn
  2425.  
  2426.       Press [ENTER] to save the new marker.  From now on, to  position to
  2427.       this marker,  select "Limiting"  from the  Animation pulldown, then
  2428.       [K] for markers.  Pick marker [1] and you are done!
  2429.  
  2430.  
  2431.        ANSI INCLUDE FILES:
  2432.  
  2433.        TheDraw permits "including" the contents of other files in the current
  2434.        animation sequence.  Typically this will be a "Ansi Music" sequence, a
  2435.        frequently used image, complex BBS control codes, etc...
  2436.  
  2437.        The include files  are  only  used  when  TheDraw  actually  saves the
  2438.        current animation sequence.  At that point, the include file is copied
  2439.        into the new output Ansi file TheDraw is making.
  2440.  
  2441.        Include files are ignored by the animation screen redraw command.   If
  2442.        you want  to see  what everything  might look  like, a  view option is
  2443.        available in the animation  include window.   Refer  to the "ANIMATION
  2444.        OPTIONS" section for more information.
  2445.  
  2446.  
  2447.        MAKING CUSTOM USER ANSI SEQUENCES:
  2448.  
  2449.        You can insert your own short control code sequences directly into and
  2450.        Ansi file TheDraw generates.  This  is  very  useful  for  special BBS
  2451.        control codes  (ie: for  user names and such), or inserting extra Ansi
  2452.        codes into the animation.   You  might force  the screen  to clear, or
  2453.        cause the display to scroll - functions now supported by TheDraw.
  2454.        User Sequences  are only  referred to  when TheDraw  saves a file, and
  2455.        are not used when redrawing (see  ALT-Q).    Refer  to  the "ANIMATION
  2456.        OPTIONS" section for a complete description of user sequence.
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.        TheDraw v4.51           The Animation System             30
  2465.  
  2466.  
  2467.  
  2468.  
  2469.        TRICKS AND TECHNIQUES
  2470.        ──────────────────────────────────────────────────────────────────────
  2471.        Once  the  above  mentioned  animation  skills  are down, certain easy
  2472.        special effects will help  liven up  a display.   Care  given to color
  2473.        selection,  shading,   and  use   of  shadowing  to  furnish  a  three
  2474.        dimensional feel can perform wonders.   Animation is  also improved on
  2475.        occasion by pausing the display slightly.
  2476.  
  2477.        Ideally you  will find  the "tricks" are not really tricks at all, but
  2478.        rather easy skills to master.  A little  practice will  put you firmly
  2479.        on the right track.
  2480.  
  2481.  
  2482.        USE OF COLORS:
  2483.  
  2484.        Good  color  selection  is  as  important as the display content being
  2485.        viewed.  Colors should  be high  contrast, but  not so  as to distract
  2486.        the viewer.   For  example, Yellow  on Cyan  go well together, however
  2487.        Magenta on Green do  not.   Extensive theory  exists to  predict which
  2488.        color to  use with  what, but for our purposes some experimenting will
  2489.        suffice.   Look for  combinations which  are easy  to read  and do not
  2490.        strain the eyes.  Observing other peoples work is a good teacher.
  2491.  
  2492.        Background  colors  should  be  used to your advantage, not detriment.
  2493.        For example, look closely at the TheDraw title screen and note how the
  2494.        layering was  achieved.   Half block  characters (such as "▄" and "▀")
  2495.        are used extensively with the solid  portion one  color and  the blank
  2496.        region another.
  2497.  
  2498.        Lastly, flashing  colors in combination with good background selection
  2499.        is an excellent visual  device.    For  example,  select  flashing red
  2500.        (color 20)  on a  gray background  (color 7).   Put  a block character
  2501.        ("█").  Now select flashing gray (color 23) on a red background (color
  2502.        4).   Put another  block character next to the first.  What you see is
  2503.        the block colors alternating between red and gray, each block opposite
  2504.        of one another.  Repeating this pattern produces a moving effect.  See
  2505.        demo file EFFECTS.BIN for a working example.
  2506.  
  2507.  
  2508.        SHADING:
  2509.  
  2510.        Shading and shadowing discussed below are both used for adding texture
  2511.        and three dimensional quality to a display.  Shading is the process of
  2512.        gradually changing visual intensity.   This  can be  done using bright
  2513.        colors then  more subdued  colors, or  using different characters with
  2514.        different density such as "░▒▓█".
  2515.  
  2516.        For successful shading, one must be aware of  how things  truly appear
  2517.        in nature.   Examine a pen sitting on a table carefully.  The color is
  2518.        not uniform, but rather is bright in the  middle then  apparently gets
  2519.        darker towards the edges.  The same holds true for any curvature.
  2520.  
  2521.  
  2522.        TheDraw v4.51           The Animation System             31
  2523.  
  2524.  
  2525.  
  2526.  
  2527.        Example of how color changes on a curved object:
  2528.  
  2529.                   brightest here
  2530.  
  2531.                darker  ▄▄▀▀▀▀▀▀▀▀▄▄  darker
  2532.                  ▄▀            ▀▄
  2533.                 █            █
  2534.          darkest here  █          █  darkest here
  2535.                   ▐▌          ▐▌
  2536.  
  2537.  
  2538.                     ░░░░░░░░░░
  2539.                   ░░▒▒▓▓▓▓▓▓▒▒░░
  2540.                  ░▒▒▓▓▓████▓▓▓▒▒░
  2541.                 ░▒▒▓▓▓██████▓▓▓▒▒░
  2542.                 ░▒▒▓▓▓██████▓▓▓▒▒░
  2543.                  ░▒▒▓▓▓████▓▓▓▒▒░
  2544.                   ░░▒▒▓▓▓▓▓▓▒▒░░
  2545.                     ░░░░░░░░░░
  2546.  
  2547.  
  2548.        The  above  character  shading  example  shows one way of matching the
  2549.        curvature example.  You can obtain more gradations  by using  high and
  2550.        low intensity color in combination.  For a case in point, coloring the
  2551.        following symbols as indicated yields eight shades of blue:
  2552.  
  2553.                     light
  2554.                     blue
  2555.                       │
  2556.                    light ─┬─┐┌┴┐┌┬─ blue
  2557.                 cyan  █▓▒▓▒░▒░
  2558.  
  2559.        The file EFFECTS.BIN demonstrates the above  example.   Every possible
  2560.        shading combination is shown in SHADING.TD, using three pages.
  2561.  
  2562.  
  2563.        SHADOWING:
  2564.  
  2565.        This  effect  gives  an  object  the  illusion of a third dimension by
  2566.        throwing  a  "shadow"  onto  something.    Many  popular  programs use
  2567.        shadowing to highlight menu or other box structures.  Shadows are made
  2568.        by duplicating an object shifted down and over slightly, in a darkened
  2569.        color.  ie:
  2570.                    ████████████████████
  2571.                    ████████████████████░
  2572.                    ████████████████████░
  2573.                    ████████████████████░
  2574.                    ████████████████████░
  2575.                 ░░░░░░░░░░░░░░░░░░░░
  2576.  
  2577.        The most effective shadow colors are the light and dark grays.
  2578.  
  2579.  
  2580.        TheDraw v4.51           The Animation System             32
  2581.  
  2582.  
  2583.  
  2584.  
  2585.        PAUSING:
  2586.  
  2587.        TheDraw  directly  supports  two  types  of animation pause: timed and
  2588.        keyboard.  Unfortunately, there is no  way  to  wait  for  a keystroke
  2589.        response in  an Ansi  file.   The keyboard  option is operable only if
  2590.        TheDraw or THEPP (see following section in documentation)  is used for
  2591.        displaying the  animation.   Timed pauses can be approximated however,
  2592.        by inserting redundant codes into the Ansi file.
  2593.  
  2594.        One application  might be  slowing down  steps of  an animated object.
  2595.        The  object  is  shifted  once,  then  a short pause occurs before the
  2596.        object is shifted again.   The  relative speed  difference (ie: object
  2597.        redrawn faster  than shifting  occurs) could help smooth the animation
  2598.        in some situations.
  2599.  
  2600.        Another application of course, is  placing  a  delay  after  a message
  2601.        appears.    Whisking  something  away too quickly might frustrate some
  2602.        users.  For instance, the SHUTTLE2.ANS example uses two delays.
  2603.  
  2604.  
  2605.  
  2606.        PITFALLS AND LIMITATIONS
  2607.        ──────────────────────────────────────────────────────────────────────
  2608.        You will discover a few limitations of Ansi animation as you progress.
  2609.        Large objects tend to "ripple" as they move.  ie:
  2610.  
  2611.                   ┌─────────────────────┐
  2612.                   │             │ <-- ripple effect
  2613.                   │            │
  2614.                  │             │
  2615.                  │             │
  2616.                  └─────────────────────┘
  2617.  
  2618.        Large object also use a significant portion of the available animation
  2619.        space.  You will be amazed how quickly  even 16000  entries disappear.
  2620.        Objects up  to 30 character by 10 lines (30x10) in size generally work
  2621.        with minimal difficulty.  Faster computers can get  away with slightly
  2622.        larger blocks.
  2623.  
  2624.        Since only  one character  point can  change at any given time, having
  2625.        multiple objects move simultaneously will slow performance.
  2626.  
  2627.        As with everything, experience will tell you what is best  for a given
  2628.        situation.
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.        TheDraw v4.51           The Animation System             33
  2639.  
  2640.  
  2641.  
  2642.  
  2643.              TIPS AND EXAMPLES FOR PROGRAMMERS
  2644.  
  2645.  
  2646.        This section is for individuals writing programs who are interested in
  2647.        using TheDraw.  Effort was put  forth  to  make  TheDraw  a convenient
  2648.        programmers  utility.    The  various  sections  which follow describe
  2649.        example code for each of the  various languages  TheDraw is compatible
  2650.        with.   The routines are tested and can be quite useful for those just
  2651.        getting started.
  2652.  
  2653.  
  2654.        PROGRAMMING IN ASSEMBLER:
  2655.  
  2656.        Assembly programmers will find  ASM formatted  files in  standard data
  2657.        byte format,  using the DB operator.  Asm files can have varying sizes
  2658.        depending  upon  the  save  mode  used  (Ascii/Normal/Crunched).   The
  2659.        dimensions and  length of  the save  are displayed  at the  top of all
  2660.        assembler dumps.  If  you crunched  the screen,  you will  have to use
  2661.        the  uncrunch  routine  provided  in  ASM  source code (UNCRUNCH.ASM).
  2662.        Values required in the CPU registers are documented in the file.
  2663.  
  2664.        Ascii formatted files must be read as bytes and saved on the screen as
  2665.        words.    This  can  be  achieved  using LODSB and STOSW instructions.
  2666.        LODSB loads  into AL  the character.   You  store into  AH the desired
  2667.        screen color  attributes.   STOSW then  writes the  two bytes onto the
  2668.        screen.   An alternate method would be to use the Bios or Dos, however
  2669.        these methods are considerably slower.
  2670.  
  2671.        A normal  4000 byte  dump (80x25 screen) is the easiest to display via
  2672.        the REP MOVSW instruction.  To display the image, point the ES:DI pair
  2673.        to B800:0000  (for color  screens; B000:0000  monochrome) and DS:SI to
  2674.        the screen in your program.   Also load  CX with  the number  of video
  2675.        words to display (2000 - A total of 4000 bytes).  ie:
  2676.  
  2677.         MOV      AX,0B800h
  2678.         MOV      ES,AX
  2679.         MOV      DI,0
  2680.         MOV      SI,offset ImageData
  2681.         MOV      CX,2000
  2682.         CLD                   ;Make MOVSW go forward.
  2683.         REP   MOVSW
  2684.  
  2685.        If writing  to a  EGA screen (80x43), CX would need 3440.  If to a VGA
  2686.        screen (80x50), CX would need 4000.
  2687.  
  2688.        As shown  above, the  ImageData is  written directly  onto the screen.
  2689.        This will  cause hashing  or "snow" on some color video displays.  You
  2690.        may want to move  only one  video word  at a  time, pausing  until the
  2691.        video  hardware  is  in  horizontal  or vertical retrace.  This can be
  2692.        accomplished with the following routine.
  2693.  
  2694.  
  2695.  
  2696.        TheDraw v4.51     Tips and Examples for Programmers          34
  2697.  
  2698.  
  2699.  
  2700.  
  2701.        Example:
  2702.  
  2703.       MOV   AX,0B800h
  2704.       MOV   ES,AX
  2705.       MOV   DI,0
  2706.       MOV   SI,offset ImageData
  2707.       MOV   CX,2000
  2708.       CLD
  2709.  
  2710.       MOV   DX,03DAh       ;Save i/o address of CGA status register
  2711.  
  2712.        LOOPA:
  2713.       LODSW            ;Read data to be written
  2714.       MOV   BX,AX          ;Save for later.
  2715.  
  2716.       MOV   AH,9           ;Test mask for Vertical/Horizontal retrace
  2717.  
  2718.       IN    AL,DX          ;Read the status register
  2719.       TEST  AL,8           ;See if in vertical retrace?
  2720.       JNZ   WRITE_IT       ;Jump if so.  No need to wait here.
  2721.  
  2722.        LOOPB:
  2723.       IN    AL,DX          ;Read the status register
  2724.       RCR   AL,1           ;Test bit1.  Make sure we are not in the
  2725.       JC    LOOPB          ;middle of a horizontal retrace.
  2726.  
  2727.        LOOPC:
  2728.       IN    AL,DX          ;Read the status register
  2729.       TEST  AL,AH          ;Wait until in either vertical or
  2730.       JZ    LOOPC          ;horizontal retrace.
  2731.  
  2732.        WRITE_IT:
  2733.       MOV   AX,BX          ;Retrieve the character we loaded before.
  2734.       STOSW            ;Save it.
  2735.  
  2736.       LOOP  LOOPA
  2737.  
  2738.  
  2739.        The above is a fairly complex mess, but  will reliably  place a screen
  2740.        image snow  free onto  the display.   This  routine is not needed on a
  2741.        monochrome video since such hardware does not suffer from snow.
  2742.  
  2743.        Notice the  entry code  is identical  to the  previous simple example.
  2744.        The REP  MOVSW is has been replaced with extensive checks on the video
  2745.        hardware however.
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.        TheDraw v4.51     Tips and Examples for Programmers          35
  2755.  
  2756.  
  2757.  
  2758.        PROGRAMMING IN PASCAL:
  2759.  
  2760.        Pascal programmers have equal  ease with  displaying screens.   Images
  2761.        can be  flashed to the screen using the Turbo Pascal "MOVE" procedure.
  2762.        A pascal NORMAL save can be displayed with the following program:
  2763.  
  2764.      {$I image.pas}
  2765.      type ScreenType = array [0..3999] of Byte;
  2766.      var Screen : ScreenType absolute $B800:0000;
  2767.  
  2768.      begin
  2769.        Move (ImageData,Screen,4000);
  2770.      end.
  2771.  
  2772.        The above defines a variable at  the  absolute  address  of  the video
  2773.        memory.   The importance of defining such an array will become obvious
  2774.        below.  IMAGEDATA is assumed to be the name of the pascal  image dump,
  2775.        but is  easily altered  when saving  the file  from TheDraw.  The MOVE
  2776.        procedure puts ImageData onto the screen.   Please  note this  is only
  2777.        for  a  full  screen.    To  display  a  screen block is slightly more
  2778.        difficult.  Our program now becomes:
  2779.  
  2780.      {$I image.pas}
  2781.      type ScreenType = array [0..3999] of Byte;
  2782.      var Screen : ScreenType absolute $B800:0000;
  2783.          X,Offset : Integer;
  2784.      begin
  2785.        Offset := ???;  {Replace ??? with offset to display block}
  2786.  
  2787.        for X := 0 to IMAGEDATA_DEPTH-1 do
  2788.          Move (ImageData[1+X*IMAGEDATA_WIDTH*2],
  2789.            Screen[X*160+Offset],IMAGEDATA_WIDTH*2);
  2790.      end.
  2791.  
  2792.        The constants IMAGEDATA_DEPTH and  IMAGEDATA_WIDTH  specify  the block
  2793.        dimensions of  IMAGEDATA, and  are generated by TheDraw automatically.
  2794.        If you change the name  identifier,  the  width  and  depth  names are
  2795.        updated also.  The depth is the number of vertical lines in the block.
  2796.        Width is  the number  of character  across the  block.   OFFSET is the
  2797.        video address you want the block to appear at.  It is computed with:
  2798.  
  2799.                  (column*2)+(row*160)-162
  2800.  
  2801.                 Column varies 1..80
  2802.                  Row varies 1..25
  2803.  
  2804.        Notice in  this example  we are  using a loop and moving one line at a
  2805.        time.  Lines from ImageData are placed on  the video  at OFFSET.   The
  2806.        address in  ImageData is  advanced to the location of the next line in
  2807.        each loop.  The video address advances 160  characters each  time (the
  2808.        byte width of the video display).
  2809.  
  2810.  
  2811.  
  2812.        TheDraw v4.51     Tips and Examples for Programmers          36
  2813.  
  2814.  
  2815.  
  2816.        Turbo Pascal v3.0 users also have another interesting option.  You can
  2817.        include a .BIN file into a turbo program and then display it using the
  2818.        above techniques.
  2819.  
  2820.        The file  actually becomes part of your compiled pascal program.  Once
  2821.        your program is compiled, you no longer need to have the DEMO.BIN file
  2822.        present.
  2823.  
  2824.      procedure DummyProc; external 'DEMO.BIN';
  2825.  
  2826.      type ScreenType = array [0..3999] of Byte;
  2827.      var Screen : ScreenType absolute $B800:0000;
  2828.          X,Depth,Width,Offset : Integer;
  2829.          ImageDataPtr : ^ScreenType;
  2830.      begin
  2831.        Depth := ???;      {Replace ???'s with actual block dimensions}
  2832.        Width := ???;      {as specified by TheDraw after .BIN save.}
  2833.        Offset := ???;     {Replace ??? with position to display block}
  2834.  
  2835.        ImageDataPtr := Addr(DummyProc);
  2836.  
  2837.        for X := 0 to Depth-1 do
  2838.          Move (ImageDataPtr^[1+X*Width*2],Screen[X*160+Offset],Width*2);
  2839.      end.
  2840.  
  2841.        In the  above program,  we create a pointer (IMAGEDATAPTR) pointing at
  2842.        the address of DUMMYPROC.  The rest of the program  is similar  to the
  2843.        previous  example,  except  all  occurrences of IMAGEDATA are replaced
  2844.        with  IMAGEDATAPTR^.    Also,  since  the  block  dimensions  are  not
  2845.        available, you must specify them.
  2846.  
  2847.        The up  arrow symbol  at the  end is very important.  If you don't use
  2848.        it, Turbo will copy the -value- of your pointer to  the screen.   This
  2849.        will generally  appear as  garbage.   It can  be fun playing with this
  2850.        concept, you simply must be careful with the pointers.
  2851.  
  2852.        Pascal ASCII saves are used similar to strings.   Since  the ImageData
  2853.        arrays created  do not  have color attributes, we cannot directly move
  2854.        them to the video.  The following shows two techniques  for displaying
  2855.        these images.
  2856.  
  2857.      --- Pascal ASCII Save Example 1 ---
  2858.  
  2859.      {$I image.pas}
  2860.      var X:Integer;
  2861.      begin
  2862.        ClrScr;
  2863.        for X := 1 to IMAGEDATA_LENGTH do Write (ImageData[X]);
  2864.      end.
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.        TheDraw v4.51     Tips and Examples for Programmers          37
  2871.  
  2872.  
  2873.  
  2874.      --- Pascal ASCII Save Example 2 ---
  2875.  
  2876.      {$I image.pas}
  2877.      type ScreenType = array [0..3999] of Byte;
  2878.      var Screen : ScreenType absolute $B800:0000;
  2879.          X:Integer;
  2880.      begin
  2881.        ClrScr;
  2882.        for X := 1 to IMAGEDATA_LENGTH do
  2883.          Screen[X*2-2] := ImageData[X];
  2884.      end.
  2885.  
  2886.        The  first  example  is  easiest  to  understand.  All we are doing is
  2887.        displaying each character in IMAGEDATA on the screen  using the pascal
  2888.        WRITE function.  This works because the IMAGEDATA block (in this case)
  2889.        is 80 characters wide, so there is no need for a WRITELN.   The cursor
  2890.        will automatically  be bumped down to the next line.  IMAGEDATA_LENGTH
  2891.        is another constant automatically generated by TheDraw.
  2892.  
  2893.        The second example is similar to  the first,  but directly  stuffs the
  2894.        characters  onto  the  screen.    This  will  be faster than the first
  2895.        method.  Notice the Screen[X*2-2].  The multiplication is done because
  2896.        each character  occupies two  bytes of  video memory.  Since the first
  2897.        video address is 0, we add -2 to the offset to keep things aligned.
  2898.  
  2899.        To  use  pascal  images  CRUNCHED  by  TheDraw  requires  use  of  the
  2900.        UNCRUNCH.PAS  file  included  with  the  package.    The file contains
  2901.        details and instruction on using crunched images.
  2902.  
  2903.  
  2904.        TURBO PASCAL v4.0 through v5.5:
  2905.  
  2906.        The above examples will all work for Turbo Pascal v4.0  to v5.5 users,
  2907.        with exception to the external .BIN file example.  The newer compilers
  2908.        do not support the old format.  Instead  you must  use TheDraw's Turbo
  2909.        Pascal compatible Object (.OBJ) files.
  2910.  
  2911.        To use the object file do the following:
  2912.  
  2913.      {$L DEMO.OBJ }
  2914.      procedure ImageData; external;
  2915.      procedure ImageData_Width; external;
  2916.      procedure ImageData_Depth; external;
  2917.      procedure ImageData_Length; external;
  2918.  
  2919.        The  procedure  name  (ImageData  here)  is  specified when making the
  2920.        object  file.    All  four  external  procedure  definitions  must  be
  2921.        specified (Turbo  requires it).   Although  these are "procedures" you
  2922.        MUST NOT execute them.   They  only contain  image data  which must be
  2923.        referred to via pointers.  The modified .BIN example follows:
  2924.  
  2925.  
  2926.  
  2927.  
  2928.        TheDraw v4.51     Tips and Examples for Programmers          38
  2929.  
  2930.  
  2931.  
  2932.      {$L DEMO.OBJ}
  2933.      procedure ImageData; external;
  2934.      procedure ImageData_Width; external;
  2935.      procedure ImageData_Depth; external;
  2936.      procedure ImageData_Length; external;
  2937.  
  2938.      type ScreenType = array [0..3999] of Byte;
  2939.      var Screen : ScreenType absolute $B800:0000;
  2940.          X,Offset : Integer;
  2941.          ImageDataPtr : ^ScreenType;
  2942.          ImageDataWidthPtr : ^Integer;
  2943.          ImageDataDepthPtr : ^Integer;
  2944.          ImageDataLengthPtr : ^Integer;
  2945.  
  2946.      begin
  2947.        Offset := ???;       {Replace ??? with position to display block}
  2948.  
  2949.        ImageDataPtr := @ImageData;
  2950.        ImageDataWidthPtr := @ImageData_Width;
  2951.        ImageDataDepthPtr := @ImageData_Depth;
  2952.        ImageDataLengthPtr := @ImageData_Length;
  2953.  
  2954.        for X := 0 to ImageDataDepthPtr^-1 do
  2955.          Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  2956.            Screen[X*160+Offset],ImageDataWidthPtr^*2);
  2957.      end.
  2958.  
  2959.        The above  is for  a generalized block of any dimension.  A pointer to
  2960.        the IMAGEDATA_LENGTH is initialized  but not  used.   It is  there for
  2961.        example usage  only.  The above program can be simplified somewhat for
  2962.        an entire screen.  ie:
  2963.  
  2964.      {$L DEMO.OBJ}
  2965.      procedure ImageData; external;     {All of these are needed,}
  2966.      procedure ImageData_Width; external;   {otherwise Turbo v4.0-v5.5}
  2967.      procedure ImageData_Depth; external;   {get upset.}
  2968.      procedure ImageData_Length; external;
  2969.  
  2970.      begin
  2971.        Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  2972.      end.
  2973.  
  2974.        Note the usage of typecasting to  eliminate the  pointer to ImageData.
  2975.        This  cleans  up  the  program  appearance somewhat.  In addition, the
  2976.        value of 4000 could  be replaced  with a  pointer to IMAGEDATA_LENGTH.
  2977.        However,  since  this  is  an  entire screen why bother initializing a
  2978.        pointer.  A full 80 by 25 screen is always 4000 bytes in length.
  2979.  
  2980.  
  2981.  
  2982.  
  2983.  
  2984.  
  2985.  
  2986.        TheDraw v4.51     Tips and Examples for Programmers          39
  2987.  
  2988.  
  2989.  
  2990.        TURBO PASCAL VERSION 6.0:
  2991.  
  2992.        Everything  shown  thus  far  for  Turbo  Pascal  v4.0  to  v5.5 works
  2993.        perfectly well  in TP  6.0.  However, the newest release allows a more
  2994.        relaxed preinitialized constant definitions.    The  previous examples
  2995.        can be shorten to:
  2996.  
  2997.      {$L DEMO.OBJ}
  2998.      procedure ImageData; external;
  2999.      procedure ImageData_Width; external;
  3000.      procedure ImageData_Depth; external;
  3001.      procedure ImageData_Length; external;
  3002.  
  3003.      type ScreenType = array [0..3999] of Byte;
  3004.      var Screen : ScreenType absolute $B800:0000;
  3005.          X,Offset : Integer;
  3006.  
  3007.      const
  3008.        ImageDataPtr : ^ScreenType = @ImageData;
  3009.        ImageDataWidthPtr : ^Integer = @ImageData_Width;
  3010.        ImageDataDepthPtr : ^Integer = @ImageData_Depth;
  3011.        ImageDataLengthPtr : ^Integer = @ImageData_Length;
  3012.  
  3013.      begin
  3014.        Offset := ???;     {Replace ??? with position to display block}
  3015.  
  3016.        for X := 0 to ImageDataDepthPtr^-1 do
  3017.          Move (ImageDataPtr^[1+X*ImageDataWidthPtr^*2],
  3018.            Screen[X*160+Offset],ImageDataWidthPtr^*2);
  3019.      end.
  3020.  
  3021.  
  3022.        In addition,  all the  external definitions for public identifiers are
  3023.        no longer mandatory.   Thus the full screen example reduces to:
  3024.  
  3025.      {$L DEMO.OBJ}
  3026.      procedure ImageData; external;
  3027.  
  3028.      begin
  3029.        Move (pointer(@ImageData)^,ptr($B800,0)^,4000);
  3030.      end.
  3031.  
  3032.        People casually reviewing the literature for v6.0 may note initialized
  3033.        data is  permitted within  object files now.  Although a definite vast
  3034.        improvement, the data is still private to the  object file.   Assuming
  3035.        the  designers  of  Turbo  Pascal  eventually  add  external  variable
  3036.        declarations (similar to C), the Large object file  data model TheDraw
  3037.        currently supports should be compatible.  Until then we must bear with
  3038.        the current approach for accessing image data.
  3039.  
  3040.  
  3041.  
  3042.  
  3043.  
  3044.        TheDraw v4.51     Tips and Examples for Programmers          40
  3045.  
  3046.  
  3047.  
  3048.        PROGRAMMING IN C:
  3049.  
  3050.        C programmers have  support  similar  to  that  for  pascal.   TheDraw
  3051.        creates the  Normal, Ascii,  and Crunched  file formats using modern C
  3052.        code definitions.  The ImageData arrays are used similar to the pascal
  3053.        case.   Please note,  in the following examples it will be assumed the
  3054.        programs are compiled in a state supporting 32-bit data pointers.
  3055.  
  3056.        A C NORMAL save is the easiest to display.  For instance:
  3057.  
  3058.      #include <stdio.h>
  3059.      #include <mem.h>
  3060.      #include "image.h"
  3061.      main ()  {
  3062.        /* Kludge a pointer at video memory (segment 0xB800, offset 0) */
  3063.        void far *screen = (void far *) 0xB8000000;
  3064.        memcpy (screen,IMAGEDATA,4000);    /* Move image to screen */
  3065.      }
  3066.  
  3067.        The <mem.h> file  reference  contains  the  definition  of  the memcpy
  3068.        routine.   Users of  Microsoft C should reference the <memory.h> file.
  3069.        IMAGE.H is assumed to contain the  array IMAGEDATA  created by TheDraw
  3070.        (the name  may be  changed to anything else naturally).  The void data
  3071.        type used is a modern C convention.  If your compiler does not support
  3072.        it, use  type char  instead (or  whatever type your compiler wants for
  3073.        parameters to memcpy).
  3074.  
  3075.        Reminder:
  3076.       Be absolutely sure you are using the proper code/data model.  It is
  3077.       very easy  to write  the above  program, only  to have the compiler
  3078.       complain about incompatible pointer sizes and other nastiness.  The
  3079.       function memcpy  MUST accept  full 32 bit data pointers.  In TurboC
  3080.       for instance, you must use memory models Compact, Large, or Huge.
  3081.  
  3082.        The above is for a full screen image.  To  display a  block involves a
  3083.        little more work, as in the pascal example.
  3084.  
  3085.      #include <stdio.h>
  3086.      #include <mem.h>
  3087.      #include "image.h"
  3088.      main () {
  3089.        void far *screen;
  3090.        int offset = ???;  /* Replace ??? with offset to display block */
  3091.        int x;
  3092.  
  3093.        for (x=0; x<IMAGEDATA_DEPTH; x++) {
  3094.          (long) screen = 0xB8000000+x*160+offset;
  3095.          memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  3096.        }
  3097.      }
  3098.  
  3099.  
  3100.  
  3101.  
  3102.        TheDraw v4.51     Tips and Examples for Programmers          41
  3103.  
  3104.  
  3105.  
  3106.        As before,  the variables  IMAGEDATA_DEPTH and IMAGEDATA_WIDTH specify
  3107.        the block size saved in IMAGEDATA, and are generated by  TheDraw.  The
  3108.        depth is  the number  of vertical  lines in  the block.   Width is the
  3109.        number of characters across the  block.    OFFSET  contains  the video
  3110.        address the block is to appear at.  It is computed with:
  3111.  
  3112.                  (column*2)+(row*160)-162
  3113.  
  3114.                 Column varies 1..80
  3115.                  Row varies 1..25
  3116.  
  3117.        A loop  is used  in this  example to  move one  line at a time.  Lines
  3118.        from IMAGEDATA are placed on the  video at  OFFSET.   The address into
  3119.        IMAGEDATA is  advanced to  the location of the next line in each loop.
  3120.        The video address advances 160  characters  for  each  line  (the byte
  3121.        width of the video display).
  3122.  
  3123.        Programmers  with  TurboC  can  also  use  the function puttext.  This
  3124.        handles everything  the previous  example did  and is  called with the
  3125.        following parameters:
  3126.  
  3127.            XUL    = X coordinate of upper-left corner.
  3128.            YUL    = Y coordinate of upper-left corner.
  3129.            XLR    = X coordinate of lower-right corner.
  3130.            YLR    = Y coordinate of lower-right corner.
  3131.            source = address pointer to data
  3132.  
  3133.        Examples of usage are:
  3134.  
  3135.          puttext (1,1,80,25,IMAGEDATA);
  3136.         /* full screen display */
  3137.  
  3138.          puttext (1,1,IMAGEDATA_WIDTH,IMAGEDATA_DEPTH,IMAGEDATA);
  3139.         /* display block in upper-left corner of screen */
  3140.  
  3141.          puttext (81-IMAGEDATA_WIDTH,26-IMAGEDATA_DEPTH,80,25,IMAGEDATA);
  3142.         /* display block in lower-right corner of screen */
  3143.  
  3144.  
  3145.        In addition  to simplifying  the code,  this function can be used from
  3146.        ANY memory model.  You are not restricted to the larger memory models.
  3147.        However, remember this function will only work for NORMAL screen saves
  3148.        (not Ascii or Crunched).
  3149.  
  3150.  
  3151.  
  3152.  
  3153.  
  3154.  
  3155.  
  3156.  
  3157.  
  3158.  
  3159.  
  3160.        TheDraw v4.51     Tips and Examples for Programmers          42
  3161.  
  3162.  
  3163.  
  3164.        The ASCII format is a bit easier to use in C than  Pascal.   By taking
  3165.        advantage of  the 0  terminated strings  of C, we can display an ASCII
  3166.        image by simply doing the following:
  3167.  
  3168.      #include <stdio.h>
  3169.      #include "image.h"
  3170.      main () {
  3171.        printf ("%s",IMAGEDATA);
  3172.      }
  3173.  
  3174.        An alternate technique for displaying ASCII format files is similar to
  3175.        the second pascal example (for doing the same thing).  ie:
  3176.  
  3177.      #include <stdio.h>
  3178.      #include <mem.h>
  3179.      #include "image.h"
  3180.      main () {
  3181.        void far *screen;
  3182.  
  3183.        int x;
  3184.  
  3185.        for (x=0; x<4000; x++) {
  3186.          (long) screen = 0xB8000000 + x*2;
  3187.          memcpy (screen,&IMAGEDATA[x],1);
  3188.        }
  3189.      }
  3190.  
  3191.        Characters are  copied one  at a  time from the IMAGEDATA array to the
  3192.        video memory.  This is significantly  faster than  the printf example,
  3193.        since the overhead of going through the operating system is removed.
  3194.  
  3195.        To use  C images  CRUNCHED by TheDraw, you must use the code in either
  3196.        UNCRUN_N.OBJ or UNCRUN_F.OBJ (depending if you are using  a Small/Near
  3197.        or Large/Far  code model).   The  file UNCRUNCH.H contains examples on
  3198.        their usage.
  3199.  
  3200.  
  3201.  
  3202.        USING OBJECT FILES WITH C:
  3203.  
  3204.        C is normally implemented to  smoothly  interface  with  object files.
  3205.        There are two steps to using TheDraw object files with C.
  3206.  
  3207.       1) Specify external variables referencing the screen image.
  3208.       2) Tell the  compiler make/project  utility to link the wanted file
  3209.          with your program.
  3210.  
  3211.        Notice in the following  program that  no include  is made.   The file
  3212.        containing the  image is  not C  source code.  It is a prepared object
  3213.        file merely needing to  be linked.   Therefore,  we tell  the compiler
  3214.        what to expect via EXTERN definitions.
  3215.  
  3216.  
  3217.  
  3218.        TheDraw v4.51     Tips and Examples for Programmers          43
  3219.  
  3220.  
  3221.  
  3222.  
  3223.      #include <stdio.h>
  3224.      #include <mem.h>
  3225.      main () {
  3226.        extern int IMAGEDATA_WIDTH;
  3227.        extern int IMAGEDATA_DEPTH;
  3228.        extern int IMAGEDATA_LENGTH;
  3229.        extern unsigned char IMAGEDATA [];
  3230.  
  3231.        void far *screen;
  3232.        int offset = ???;  /* Replace ??? with offset to display block */
  3233.        int x;
  3234.  
  3235.        for (x=0; x<IMAGEDATA_DEPTH; x++) {
  3236.          (long) screen = 0xB8000000+x*160+offset;
  3237.          memcpy (screen,&IMAGEDATA[x*IMAGEDATA_WIDTH*2],IMAGEDATA_WIDTH*2);
  3238.        }
  3239.      }
  3240.  
  3241.        Notice  the   image  dimensions  (width,depth,length)  are  stored  as
  3242.        variables for easy reference.  The length parameter is not  used here,
  3243.        but included to show its availability.
  3244.  
  3245.        The second  step is largely dependent on the compiler setup.  You must
  3246.        create or update a make file  to  link  the  necessary  TheDraw object
  3247.        (.OBJ) file  with your  program.   If you use Turbo C, simply list the
  3248.        file in the project listing.
  3249.  
  3250.  
  3251.  
  3252.        PROGRAMMING IN STANDARD BASIC:
  3253.  
  3254.        Basic programmers  are a  little more  limited, not  because they lack
  3255.        commands, but  lack speed.   Therefore TheDraw creates the BSave files
  3256.        with all addressing information already programmed.   All  you have to
  3257.        do   is   type   'BLOAD   "filename.BSV"'.    The  screen  segment  is
  3258.        automatically set,  so you  don't have  to bother  with DEF SEG=etc...
  3259.        However, if  you wish to override the display segment default, try the
  3260.        following:
  3261.  
  3262.         DEF SEG=&HB800 : BLOAD"filename.BSV"
  3263.  
  3264.        For monochrome video users, replace the B800 with B000.
  3265.  
  3266.        TheDraw allows partial block saves for basic files.  These  files will
  3267.        always be  80 characters wide.  This is a limitation of BLOAD which we
  3268.        all must live with.  They can  start  and  end  on  any  vertical line
  3269.        however, so  you could  load a  full screen then just load small block
  3270.        images to update those parts of the screen needing it.  Make  sure you
  3271.        build the partial-block images in TheDraw in the exact screen location
  3272.        you want them to finally appear.  If you save a block starting on line
  3273.        5, and ending on line 8 that is where Basic will display it.
  3274.  
  3275.  
  3276.        TheDraw v4.51     Tips and Examples for Programmers          44
  3277.  
  3278.  
  3279.  
  3280.        PROGRAMMING IN MICROSOFT QUICKBASIC v4.0 AND v4.5:
  3281.  
  3282.        All the  techniques mentioned  for Standard  Basic above are valid for
  3283.        Microsoft's QuickBasic compiler.  However, in QuickBasic v4.0 and v4.5
  3284.        additional means are at our disposal.
  3285.  
  3286.        TheDraw produces  QuickBasic compatible  object files (.OBJ) which are
  3287.        directly linkable.  Each TheDraw QuickBasic  object file  contains the
  3288.        screen  image  data  plus  four  functions  for referencing that data.
  3289.        These are  shown below  as used  from within  QuickBasic (assuming the
  3290.        default identifier of IMAGEDATA):
  3291.  
  3292.              DECLARE FUNCTION IMAGEDATA&
  3293.              DECLARE FUNCTION IMAGEDATAWIDTH%
  3294.              DECLARE FUNCTION IMAGEDATADEPTH%
  3295.              DECLARE FUNCTION IMAGEDATALENGTH%
  3296.  
  3297.        Changing the  identifier when  saving the object file alters the above
  3298.        accordingly.  ie:  an identifier of TEST would be:
  3299.  
  3300.              DECLARE FUNCTION TEST&
  3301.              DECLARE FUNCTION TESTWIDTH%
  3302.              DECLARE FUNCTION TESTDEPTH%
  3303.              DECLARE FUNCTION TESTLENGTH%
  3304.  
  3305.        The functions  are  used  in  conjunction  with  the  QB4UTIL.LIB file
  3306.        containing  subroutines  for  displaying  the  screen image data.  The
  3307.        first function, IMAGEDATA  (or  whatever  identifier  chosen), returns
  3308.        information  regarding  the  location  of  the  data.  It is used as a
  3309.        parameter to one of the display subroutines.  ie:
  3310.  
  3311.          CALL UNCRUNCH (IMAGEDATA&, 0)            Use whichever is
  3312.          CALL ASCIIDISPLAY (IMAGEDATA&, 0)     <- appropriate to the
  3313.          CALL NORMALDISPLAY (IMAGEDATA&, 0)       file created by TheDraw
  3314.  
  3315.        The next two functions return the  width and  depth dimensions  of the
  3316.        screen  image  block.    For  instance,  a full screen would typically
  3317.        return 80 and 25 respectfully (unless  an EGA/VGA  display was  in use
  3318.        causing  the  depth  to  increase).    These parameters are useful for
  3319.        determining window and viewport sizes, computing area, etc...
  3320.  
  3321.        The last function returns  the length  of the  data as  stored in your
  3322.        program.  A crunched image or a small data block could be quite small.
  3323.        A 80x25 normal binary screen image would be 4000 bytes.
  3324.  
  3325.        To  use  TheDraw  object   files  within   the  QuickBasic  integrated
  3326.        environment  requires  the  making  of  a Microsoft Quick Library.  If
  3327.        linking together your program externally, the QB4UTIL.LIB file must be
  3328.        included  as  it  contains  the  required  Uncrunch, AsciiDisplay, and
  3329.        NormalDisplay routines.
  3330.  
  3331.  
  3332.  
  3333.  
  3334.        TheDraw v4.51     Tips and Examples for Programmers          45
  3335.  
  3336.  
  3337.  
  3338.        MAKING AND USING QUICK LIBRARIES:
  3339.  
  3340.        To  ease  the  use  of  TheDraw  object  files,  a  batch  file called
  3341.        MAKEQLB.BAT  is  included.    The  batch  file  creates both the Quick
  3342.        Library files (.QLB extension)  and the  separate library  files (.LIB
  3343.        extension).  The idea being to put everything in one place.
  3344.  
  3345.        Once  MAKEQLB  has  run  successfully,  you  can use the Quick Library
  3346.        within the environment.  ie:
  3347.  
  3348.                 QB /L testfile.QLB
  3349.  
  3350.        In addition, linking at  the Dos  prompt is  simplified since  all you
  3351.        need include is the one file.  ie:
  3352.  
  3353.             LINK program.OBJ+testfile.LIB,,,,;
  3354.  
  3355.           (program.OBJ is assumed created by the BC.EXE compiler)
  3356.  
  3357.        MAKEQLB.BAT must  be in  the same  directory as  LINK.EXE, LIB.EXE and
  3358.        BRUN40.LIB or  BRUN45.LIB (depending  on your  version of QuickBasic),
  3359.        plus naturally  the TheDraw object files.  The parameters to the batch
  3360.        file are:
  3361.  
  3362.           MAKEQLB <targetlib> <objectfile1> <objectfile2> etc...
  3363.  
  3364.        The <targetlib> is any library filename you want.  Do -not- put a file
  3365.        extension on  this! (see example below)  The batch adds the extensions
  3366.        .QLB and .LIB automatically for you.  The  <objectfile> parameters are
  3367.        the names of object files you created with TheDraw.
  3368.  
  3369.            ─────────────────── Example run ────────────────────
  3370.  
  3371.           THEDRAW
  3372.              ....assume users creates the QB object files
  3373.               IMAGE1.OBJ and IMAGE2.OBJ
  3374.  
  3375.           MAKEQLB IMAGES SCREEN1.OBJ SCREEN2.OBJ
  3376.              ....creates the files IMAGES.QLB & IMAGES.LIB
  3377.               containing the two above object files plus
  3378.               the required display routines.
  3379.  
  3380.           QB /L IMAGES.QLB
  3381.              ....runs QuickBasic using new Quick Library.
  3382.  
  3383.            ────────────────────────────────────────────────────
  3384.  
  3385.        Once the Quick Library is created, using the screen images is a simple
  3386.        matter of calling a  display routine.   The  display routines  must be
  3387.        declare within QuickBasic before they can be called.
  3388.  
  3389.  
  3390.  
  3391.  
  3392.        TheDraw v4.51     Tips and Examples for Programmers          46
  3393.  
  3394.  
  3395.  
  3396.        THE DISPLAY ROUTINES:
  3397.  
  3398.        The file  QB4UTIL.BI lists those declarations for convenience.  Simply
  3399.        include it with the following meta command:
  3400.  
  3401.                 REM $INCLUDE: 'QB4UTIL.BI'
  3402.  
  3403.  
  3404.        Four routines are declared within this file:
  3405.  
  3406.       UNCRUNCH            Contains algorithm needed  to  display crunched
  3407.                   screen images.
  3408.       ASCIIDISPLAY        Display ascii-only object files.
  3409.       NORMALDISPLAY       Display normal binary object files.
  3410.       INITSCREENARRAY     Initialize   a   dynamic   array  for  directly
  3411.                   accessing  the  video  screen.    Can  be  used
  3412.                   instead of DEF SEG, PEEK, and POKE.
  3413.  
  3414.  
  3415.        The actual declarations are:
  3416.  
  3417.            DECLARE SUB UNCRUNCH (X&, Z%)
  3418.            DECLARE SUB ASCIIDISPLAY (X&, Z%)
  3419.            DECLARE SUB NORMALDISPLAY (X&, Z%)
  3420.            DECLARE SUB INITSCREENARRAY (A%())
  3421.  
  3422.  
  3423.        The first  parameter to  the display  routines is the identifier saved
  3424.        within a given object file (ie: IMAGEDATA&).
  3425.  
  3426.        The second parameter of each display  call is  the video  location the
  3427.        image will appear.  The upper left screen corner is offset 0 with each
  3428.        line taking 160 bytes (each screen character uses two bytes).  ie:
  3429.  
  3430.            line 1 = offset 0
  3431.            line 2 = offset 160
  3432.            line 3 = offset 320
  3433.            line 4 = offset 480
  3434.            etc...
  3435.  
  3436.        To compute an arbitrary  video location,  for any  text mode including
  3437.        the 43/50 line EGA/VGA modes, use the formula:
  3438.  
  3439.            Video Offset  =  (X-1)*2 + (Y-1)*160
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.        TheDraw v4.51     Tips and Examples for Programmers          47
  3451.  
  3452.  
  3453.  
  3454.        Example  program  using  images  screens.    Assume  three screens are
  3455.        available with the identifiers  Q1, Q2,  and Q3.   Q1  is crunched, Q2
  3456.        saved as Ascii-Only, and Q3 saved with normal binary.
  3457.  
  3458.       REM $INCLUDE: 'QB4UTIL.BI'    ' Get display routine declarations
  3459.  
  3460.       DECLARE FUNCTION Q1&      ' Important!  Do not neglect either
  3461.       DECLARE FUNCTION Q1Width%     ' the "&" or "%" symbols on function
  3462.       DECLARE FUNCTION Q1Depth%     ' declarations shown here.
  3463.       DECLARE FUNCTION Q1Length%
  3464.       DECLARE FUNCTION Q2&
  3465.       DECLARE FUNCTION Q2Width%
  3466.       DECLARE FUNCTION Q2Depth%
  3467.       DECLARE FUNCTION Q2Length%
  3468.       DECLARE FUNCTION Q3&
  3469.       DECLARE FUNCTION Q3Width%
  3470.       DECLARE FUNCTION Q3Depth%
  3471.       DECLARE FUNCTION Q3Length%
  3472.  
  3473.       CLS                    ' Clear screen
  3474.       PRINT "Screen #1 (Crunched)"       ' Print data of this image then
  3475.       PRINT "  Width: "; Q1Width%        ' pause for user.
  3476.       PRINT "  Depth: "; Q1Depth%
  3477.       PRINT "  Length:"; Q1Length%
  3478.       WHILE INKEY$ = "": WEND
  3479.       CLS                    ' Clear screen
  3480.       CALL UNCRUNCH(Q1&, 0)          ' Go uncrunch first image
  3481.       WHILE INKEY$ = "": WEND            ' Pause
  3482.  
  3483.       CLS
  3484.       PRINT "Screen #2 (Ascii Only)"     ' Print data on second image
  3485.       PRINT "  Width: "; Q2Width%        ' and pause for user.
  3486.       PRINT "  Depth: "; Q2Depth%
  3487.       PRINT "  Length:"; Q2Length%
  3488.       WHILE INKEY$ = "": WEND
  3489.       CLS
  3490.       CALL ASCIIDISPLAY(Q2&, 0)          ' Display ascii-only image data.
  3491.       WHILE INKEY$ = "": WEND            ' Pause
  3492.  
  3493.       CLS
  3494.       PRINT "Screen #3 (Normal Binary)"  ' Print data on third image
  3495.       PRINT "  Width: "; Q3Width%        ' and pause for user.
  3496.       PRINT "  Depth: "; Q3Depth%
  3497.       PRINT "  Length:"; Q3Length%
  3498.       WHILE INKEY$ = "": WEND
  3499.       CLS
  3500.       CALL NORMALDISPLAY(Q3&, 0)         ' Display normal binary image.
  3501.       WHILE INKEY$ = "": WEND            ' Pause
  3502.  
  3503.  
  3504.  
  3505.  
  3506.  
  3507.  
  3508.        TheDraw v4.51     Tips and Examples for Programmers          48
  3509.  
  3510.  
  3511.  
  3512.       REM $DYNAMIC               ' Setup dynamic integer array
  3513.       DIM SCREEN%()              ' mapped over video display.
  3514.       INITSCREENARRAY (SCREEN%())
  3515.  
  3516.       FOR Y% = 1 TO 25               ' Make screen scroll downward.
  3517.          FOR X% = 1999 TO 160 STEP -1
  3518.         SCREEN%(X%) = SCREEN%(X%-160)
  3519.          NEXT
  3520.  
  3521.          FOR X% = 0 TO 159 : SCREEN%(X%) = 0 : NEXT   ' Clear top line.
  3522.          FOR X% = 0 TO 1000 : NEXT            ' Slow things down.
  3523.       NEXT
  3524.       END
  3525.  
  3526.        The first  call (to  UNCRUNCH) displays  Q1 in  the upper left corner.
  3527.        The second call (to  ASCIIDISPLAY) displays  IMAGE2 on  the sixth line
  3528.        down, in  the center  of the  screen (40  characters over).   The file
  3529.        QB4UTIL.BI  contains  a  complete  description  of   all  the  display
  3530.        routines for you.
  3531.  
  3532.        Note in  the above  example, everything  available in a TheDraw object
  3533.        file was declared and used (the  Image,  the  width,  depth,  and data
  3534.        length) for  example purposes.   In  normal use  you need only declare
  3535.        what you wish to take advantage  of (naturally).   If  you always used
  3536.        80x25 screens,  there would  be no  need to access the image width and
  3537.        depth for instance.
  3538.  
  3539.        The INITSCREENARRAY sets up a  dynamic  array  mapped  over  the video
  3540.        display.   To directly  manipulate the screen, you can perform various
  3541.        useful operations with this  array.   For instance,  the above example
  3542.        scrolls the  screen downward  thus clearing  the screen.  You may find
  3543.        this more convenient than setting  up  DEF  SEG,  and  using PEEK/POKE
  3544.        operations.   Initializing the  array requires the following (the name
  3545.        used here is "screen" - you can change this to anything of course)
  3546.  
  3547.          REM $DYNAMIC
  3548.          DIM SCREEN%()
  3549.          INITSCREENARRAY (SCREEN%())
  3550.  
  3551.        After initializing an array, you can  set individual  screen elements.
  3552.        To put a yellow letter A on the screen for example:
  3553.  
  3554.          SCREEN%(0) = ASC('A') + 256*14
  3555.  
  3556.        Compare against  the equivalent PEEK/POKE approach (assume DEF SEG has
  3557.        been initialized to &HB800 for color, or &HB000 for monochrome video):
  3558.  
  3559.          POKE 0,ASC('A')
  3560.          POKE 1,14
  3561.  
  3562.        Pick whichever approach you feel most comfortable with.
  3563.  
  3564.  
  3565.  
  3566.        TheDraw v4.51     Tips and Examples for Programmers          49
  3567.  
  3568.  
  3569.  
  3570.        COMMAND LINE COMPILATION:
  3571.  
  3572.        The  above  examples  all  assume  using   the  QuickBasic  integrated
  3573.        environment.    For  most  users  this is adequate.  However, the more
  3574.        sophisticated user might prefer their  own  text  editor  and  use dos
  3575.        compilation.
  3576.  
  3577.        Use  TheDraw  object  files  is  done exactly as described previously.
  3578.        Create the .OBJ files, and use  MAKEQLB to  produce the  Quick Library
  3579.        (.QLB) and stand alone (.LIB) library files.  ie:
  3580.  
  3581.       MAKEQLB IMAGES IMAGE1.OBJ IMAGE2.OBJ IMAGE3.OBJ
  3582.  
  3583.        Compile your source code normally using the BC program.  ie:
  3584.  
  3585.       BC MYCODE.BAS,,,;
  3586.  
  3587.        When linking  your program,  simply add  the stand  alone library from
  3588.        MAKEQLB to your command line when making your .EXE file:
  3589.  
  3590.       LINK MYCODE+IMAGES.LIB,,,,;
  3591.  
  3592.        It is possible to bypass the  MAKEQLB step.   This  requires including
  3593.        all the  screen image  object files plus TheDraw's display routines in
  3594.        your link command.  Instead of MAKEQLB and IMAGES.LIB, type:
  3595.  
  3596.       LINK MYCODE+QB4UTIL.LIB+IMAGE1+IMAGE2+IMAGE3,,,,;
  3597.  
  3598.        The MAKEQLB approach eliminates some of the extra typing in  the final
  3599.        command line.   Since  MAKEQLB is used when updating screens, using it
  3600.        can save some time can cut down on typo errors.
  3601.  
  3602.  
  3603.  
  3604.  
  3605.  
  3606.  
  3607.  
  3608.  
  3609.  
  3610.  
  3611.  
  3612.  
  3613.  
  3614.  
  3615.  
  3616.  
  3617.  
  3618.  
  3619.  
  3620.  
  3621.  
  3622.  
  3623.  
  3624.        TheDraw v4.51     Tips and Examples for Programmers          50
  3625.  
  3626.  
  3627.  
  3628.        PROGRAMMING IN CLIPPER(TM) (courtesy of Ian Thurston):
  3629.  
  3630.  
  3631.        A full TheDraw screen saved as  a  BINARY  file  (.BIN)  has  the same
  3632.        format as  the Clipper  compiler uses to "SAVE SCREEN TO <expc>".  For
  3633.        both Clipper and TheDraw,  a full  text screen  save consists  of 2000
  3634.        "words"  (or  4000  bytes).    Each  word represents the character and
  3635.        attribute of a single screen location.
  3636.  
  3637.  
  3638.        Importing Full-Screen BINARY files:
  3639.  
  3640.        We can easily read any file less than 64k bytes into a  Clipper memory
  3641.        variable  with  the  "MEMOREAD"  function.  Combining the MEMOREAD and
  3642.        RESTORE SCREEN command as follows yields:
  3643.  
  3644.          RESTORE SCREEN FROM MEMOREAD("FULL.BIN")
  3645.  
  3646.  
  3647.        Importing Partial-Screen BINARY files:
  3648.  
  3649.        Once again, a partial/block TheDraw  screen  saved  to  a  BINARY file
  3650.        (using  the  ALT-B,Save  command)  has  the  same  format as Clipper's
  3651.        corresponding command:
  3652.  
  3653.          "<expC>=SAVESCREEN(top,left,bottom,right)"
  3654.  
  3655.        For example, assume TheDraw was used to prepare a screen.  It was then
  3656.        blocked using  ALT-B, with the upper left corner at row 10, column 10,
  3657.        while the lower right corner was at  row  20,  column  70.    The Save
  3658.        option was  selecting using  the Binary  option, and saved to the file
  3659.        "PARTIAL.BIN"
  3660.  
  3661.        Again, the TheDraw Binary file is read into a Clipper  memory variable
  3662.        using the  "MEMOREAD" function,  which itself  is used as the argument
  3663.        for the partial screen restore function RESTSCREEN (t,l,b,r,<expC>):
  3664.  
  3665.          RESTSCREEN (10,10,20,70,MEMOREAD("PARTIAL.BIN"))
  3666.  
  3667.        Note:  As is usual with this sort of function, a block can be restored
  3668.        at  a  different  screen  location  ...  but the width and height must
  3669.        remain the same, else the display  will look  very ugly  indeed.  Also
  3670.        correct programming  practice would  have us  check for file existence
  3671.        and length before trying these techniques.  You may choose to wrap the
  3672.        functions inside a parameter checking shell.
  3673.  
  3674.  
  3675.  
  3676.  
  3677.  
  3678.  
  3679.  
  3680.  
  3681.  
  3682.        TheDraw v4.51     Tips and Examples for Programmers          51
  3683.  
  3684.  
  3685.  
  3686.        Combining Multiple BINARY (.BIN) Files:
  3687.  
  3688.        If quite  a few  Binary files  will be stored on disk and incorporated
  3689.        into an application, why not combine them into one Clipper database to
  3690.        simplify  things?    The  process  for accomplishing this is described
  3691.        below:
  3692.  
  3693.        a. Create a database for .BIN files using the following structure:
  3694.  
  3695.          Structure for database: BIN.DBF
  3696.  
  3697.          Field Field_Name Type        Width    Dec
  3698.          1 BIN_NAME   Character      8
  3699.          2 BIN_TOP         Numeric        2
  3700.          3 BIN_LEFT   Numeric        2
  3701.          4 BIN_BOTTOM Numeric        2
  3702.          5 BIN_RIGHT  Numeric        2
  3703.          6 BIN_SCREEN Memo          10
  3704.  
  3705.  
  3706.        b. Using the MEMOREAD function,  import  the  BIN  files  as character
  3707.        variables, then  store them in memo field BIN_SCREEN using the REPLACE
  3708.        command.  Next, save  the  screen  display  coordinates  into BIN_TOP,
  3709.        BIN_LEFT,  BIN_BOTTOM,   and  BIN_RIGHT  (for  a  full  screen,  those
  3710.        coordinates are 0,0,24, and 79).  Finally, store a meaningful name for
  3711.        the screen in BIN_NAME (ie: "MAINMENU" for a main menu display).
  3712.  
  3713.        c. Index the file on BIN_NAME.
  3714.  
  3715.        ----
  3716.        Now to use this file, we need the following function:
  3717.  
  3718.        ********
  3719.        FUNCTION showbins
  3720.        ********
  3721.        PARAMETERS screename
  3722.        PRIVATE tempselect
  3723.        tempselect=SELECT()         && Keep track of where we were working
  3724.        IF SELECT("BIN") = 0        && Check to see if BIN has been opened
  3725.       SELECT 0             && If not, find a blank work area,
  3726.       USE bin INDEX bin_name   && and then open up BIN for use
  3727.        ENDIF
  3728.        SELECT bin              && Go to the BIN area
  3729.        SEEK screename           && Look for the specified screen
  3730.        IF FOUND()              && and show it if it exists
  3731.       RESTSCREEN (bin_top,bin_left,bin_bottom,bin_right,bin_screen)
  3732.        ENDIF
  3733.        SELECT (tempselect)         && return to the original work area
  3734.        RETURN .T.
  3735.  
  3736.        Example Usage:
  3737.       SHOWBINS("MAINMENU")
  3738.  
  3739.  
  3740.        TheDraw v4.51     Tips and Examples for Programmers          52
  3741.  
  3742.  
  3743.  
  3744.        PROGRAMMING IN CLIPPER (courtesy of Larry Stewart):
  3745.  
  3746.        The Clipper compiler uses the same format as TheDraw's BINARY save for
  3747.        it's "SAVE  SCREEN to  memvar" and  SAVESCREEN() functions.   The code
  3748.        example that  follows shows how to retrieve a .BIN file and display it
  3749.        in your compiled EXE program.
  3750.  
  3751.        FUNCTION SHOW_BIN
  3752.  
  3753.        * SYNTAX:    SHOWBIN( <name> [, <expN1>, <expN2>, <expN3>, <expN4> ] )
  3754.        * PURPOSE:   Display a full or partial screen from a .BIN file
  3755.        * ARGUMENTS: <name> contains the name of the .BIN file from TheDraw
  3756.        *        If <expN1> through <expN4> are not present, the routine
  3757.        *        assumes a full screen display will be restored.
  3758.        *        <expN1> is the top row for a partial screen
  3759.        *        <expN2> is the left column for the partial screen
  3760.        *        <expN3> is the bottom row for the partial screen
  3761.        *        <expN4> is the right column for the partial screen
  3762.  
  3763.        PARAMETER binfile,t,l,b,r
  3764.        PRIVATE m_buffer,m_handle,m_bytes,m_size
  3765.  
  3766.        IF ! ("." $ binfile)              && Does file have an extension?
  3767.       binfile = binfile+".BIN"           && No, default to .BIN
  3768.        ENDIF
  3769.  
  3770.        IF ! FILE(binfile)                && Does file exist on disk?
  3771.       RETURN .F.                  && No, return FAIL value.
  3772.        ENDIF
  3773.  
  3774.        IF PCOUNT() = 1               && Any border dimensions passed?
  3775.      m_buffer = SPACE(4000)          && If not, assume full screen.
  3776.      m_handle = FOPEN(binfile,0)
  3777.      m_bytes = FREAD(m_handle,@m_buffer,4000)
  3778.      FCLOSE(m_handle)
  3779.      IF m_bytes = 4000
  3780.        RESTORE SCREEN FROM m_buffer
  3781.        RETURN .T.
  3782.      ELSE
  3783.        RETURN .F.                 && Error if  .BIN  file did
  3784.        not
  3785.      ENDIF                   && contain 4000 bytes.
  3786.        ENDIF
  3787.  
  3788.        IF PCOUNT() != 5              && Check for correct number of
  3789.      RETURN .F.                   && parameters.
  3790.        ENDIF
  3791.  
  3792.        m_size = 2*((r-l+1)*(b-t+1))          &&  Compute  number  of bytes in
  3793.        m_buffer = SPACE(m_size)          && box.  Allocate space for it.
  3794.        m_handle = FOPEN(binfile,0)
  3795.        m_bytes = FREAD(m_handle,@m_buffer,m_size)
  3796.  
  3797.  
  3798.        TheDraw v4.51     Tips and Examples for Programmers          53
  3799.  
  3800.  
  3801.  
  3802.        FCLOSE (m_handle)
  3803.        IF m_bytes = m_size
  3804.      RESTSCREEN (t,l,b,r,m_buffer)
  3805.      RETURN .T.
  3806.        ELSE
  3807.      RETURN .F.                   && Error  if  file  not big
  3808.        enough.
  3809.        ENDIF
  3810.  
  3811.        Please note:   When  you save  a box (binary block save) with TheDraw,
  3812.        the screen position and dimensions are not recorded in the  .BIN file.
  3813.        The box  may be  restored to  your screen  at any position you choose;
  3814.        however, the dimensions of the box -cannot- be  changed.   If you try,
  3815.        the box  will appear  distorted or  the above routine will generate an
  3816.        error.
  3817.  
  3818.        Examples:
  3819.  
  3820.       SHOWBIN ("EXAMPLE1")
  3821.          Displays the full screen image in the file EXAMPLE1.
  3822.  
  3823.       SHOWBIN ("EXAMPLE2",10,20,20,60)
  3824.          Displays the 40 by  10  block  in  EXAMPLE2  at  screen position
  3825.          (20,10).
  3826.  
  3827.        ------------------------
  3828.        If you have additional ideas for this section, please send them in!
  3829.  
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.  
  3836.  
  3837.  
  3838.  
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.  
  3845.  
  3846.  
  3847.  
  3848.  
  3849.  
  3850.  
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856.        TheDraw v4.51     Tips and Examples for Programmers          54
  3857.  
  3858.  
  3859.  
  3860.  
  3861.                    PULL DOWN MENU SYSTEM
  3862.  
  3863.  
  3864.        TheDraw can  be fully  controlled via the use of pull down menus.  The
  3865.        menus greatly  simplify learning  TheDraw by  conveniently showing all
  3866.        related commands.   Each menu also displays the corresponding shortcut
  3867.        keystrokes (such as ALT-L for files loading).
  3868.  
  3869.        The pull down menus are activated from command  mode using  one of two
  3870.        ways.   Pressing either  the [ESC]  key on  the keyboard or if using a
  3871.        mouse the RIGHT-most button.   The  following options  bar will appear
  3872.        across the top of the screen:
  3873.  
  3874.        ┌──────────────────────────────────────────────────────────────────┐
  3875.        │ Files Global Options Screen foNts Animation   Color Toggles Help │
  3876.        └──────────────────────────────────────────────────────────────────┘
  3877.  
  3878.        Each  heading  is  briefly  described  below.    For  full  functional
  3879.        descriptions, please  refer to  the appropriate  section under THEDRAW
  3880.        KEYBOARD COMMANDS.
  3881.  
  3882.  
  3883.        The FILES Menu
  3884.        ──────────────────────────────────────────────────────────────────────
  3885.        The  Files  pull-down  menu  offers  assorted  options  for loading or
  3886.        viewing existing files, deleting  old  files,  and  saving  the screen
  3887.        image currently  being edited.   When you load a file, it is read into
  3888.        the screen edit area.  When done with a file, you can  save it  to any
  3889.        directory  or  file  name.    In addition, from this pull-down you can
  3890.        change to another directory, temporarily go  to a  Dos Shell,  or exit
  3891.        TheDraw completely.
  3892.  
  3893.  
  3894.       ════════════════════════════════════════════════════════════════
  3895.       FILES Global Options Screen foNts Animation   Color Toggles Help
  3896.       ┌───────────────────┐
  3897.       │ Load    Alt-L │
  3898.       │ View    Alt-V │
  3899.       │ Delete      Alt-K │
  3900.       │ Change Dir  Alt-O │
  3901.       │ Save    Alt-S │
  3902.       │ Quit    Alt-X │
  3903.       └───────────────────┘
  3904.       ════════════════════════════════════════════════════════════════
  3905.  
  3906.  
  3907.  
  3908.  
  3909.  
  3910.  
  3911.  
  3912.  
  3913.  
  3914.        TheDraw v4.51           Pull Down Menu System            55
  3915.  
  3916.  
  3917.  
  3918.  
  3919.        LOAD - Load a File (ALT-L)
  3920.  
  3921.       Displays a list of files under the current directory.   You can use
  3922.       DOS-style wildcard  masks for  a listing  of specific wanted files.
  3923.       Simply type in the name of the file to load  or use  the arrow keys
  3924.       to move the selector bar and press [ENTER].  Activate the pick list
  3925.       by pressing the TAB key or the RIGHT-most mouse button.
  3926.  
  3927.  
  3928.        VIEW - View a File (ALT-V)
  3929.  
  3930.       Similar to LOAD,  except  the  image  is  loaded  only temporarily.
  3931.       Pressing [ENTER] returns to command mode.
  3932.  
  3933.  
  3934.        DELETE - Delete a File (ALT-K)
  3935.  
  3936.       Allows  files  to  be  deleted  from  within  TheDraw.   The screen
  3937.       operates identically to the  LOAD  option  above.    The difference
  3938.       being TheDraw will attempt to delete any file you select.
  3939.  
  3940.  
  3941.        CHANGE DIR - Change Working Directory (ALT-O)
  3942.  
  3943.       Displays all  subdirectories in  the current directory.  Select the
  3944.       wanted directory by typing  it  in  or  using  the  arrow  keys and
  3945.       pressing  [ENTER].    To  change  to another drive, simply type the
  3946.       wanted drive followed by a colon.  ie: "C:"
  3947.  
  3948.  
  3949.        SAVE - Save Current Screen to a File (ALT-S)
  3950.  
  3951.       Saves current screen image to one of a variety of file formats.
  3952.  
  3953.  
  3954.        QUIT - Quit/Shell from TheDraw (ALT-X)
  3955.  
  3956.       Allows you to either exit TheDraw  completely or  leave the program
  3957.       just temporarily.  In both cases, you end up at the Dos prompt.
  3958.  
  3959.       To return  to TheDraw  from a Dos Shell, type EXIT.  This is useful
  3960.       when you want to run a DOS command without quitting TheDraw.
  3961.  
  3962.  
  3963.  
  3964.  
  3965.  
  3966.  
  3967.  
  3968.  
  3969.  
  3970.  
  3971.  
  3972.        TheDraw v4.51           Pull Down Menu System            56
  3973.  
  3974.  
  3975.  
  3976.        The GLOBAL Menu
  3977.        ──────────────────────────────────────────────────────────────────────
  3978.        The global  menu offers  options that  affect the  entire edit screen.
  3979.        These  options  include  moving  and  copying  the screen, plus global
  3980.        screen fills and text operations.
  3981.  
  3982.  
  3983.       ════════════════════════════════════════════════════════════════
  3984.       Files GLOBAL Options Screen foNts Animation   Color Toggles Help
  3985.            ┌───────────────┐
  3986.            │ Copy  Alt-G,C │
  3987.            │ Move  Alt-G,M │
  3988.            │ Fill  Alt-G,F │
  3989.            │ Text  Alt-G,T │
  3990.            └───────────────┘
  3991.       ════════════════════════════════════════════════════════════════
  3992.  
  3993.  
  3994.        COPY - Global Screen Copy (ALT-G,Copy)
  3995.  
  3996.       Copies the current screen page to another page.   You  are prompted
  3997.       for which destination page you want.
  3998.  
  3999.  
  4000.        MOVE - Global Screen Movement (ALT-G,Move)
  4001.  
  4002.       Allows  the  rotating  of  the  screen around its borders.  Use the
  4003.       arrow keys or the mouse.  Press [ENTER] or the LEFT mouse button to
  4004.       save at the new location.
  4005.  
  4006.  
  4007.        FILL - Global Fill Screen (ALT-G,Fill)
  4008.  
  4009.       Fills  the  entire  screen  based  on a specified sub-command.  The
  4010.       available  options  allow  just  the  color  attributes,  just  the
  4011.       characters, or both to be changed at once.
  4012.  
  4013.  
  4014.        TEXT - Global Text Operations (ALT-G,Text)
  4015.  
  4016.       Performs  various  screen  text  operations.   Available suboptions
  4017.       are:  Draw Box, Outline contents  of screen,  Center Justify screen
  4018.       contents, Left Justify, and Right Justify.
  4019.  
  4020.  
  4021.  
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.  
  4030.        TheDraw v4.51           Pull Down Menu System            57
  4031.  
  4032.  
  4033.  
  4034.        The OPTIONS Menu
  4035.        ──────────────────────────────────────────────────────────────────────
  4036.        The Options  menu contains  facilities to  aid you  in the layout of a
  4037.        screen design.  Commands affect things like the current character set,
  4038.        the  Tab  line  setup,  and  the  on-screen  ruler.  A screen painting
  4039.        function is available also.
  4040.  
  4041.       ════════════════════════════════════════════════════════════════
  4042.       Files Global OPTIONS Screen foNts Animation   Color Toggles Help
  4043.               ┌──────────────────────┐
  4044.               │ Character Set  Alt-F │
  4045.               │ Tab Setup      Alt-T │
  4046.               │ Ruler          Alt-N │
  4047.               │ Paint/Fill     Alt-P │
  4048.               │──────────────────────│
  4049.               │ Setup Options        │
  4050.               └──────────────────────┘
  4051.       ════════════════════════════════════════════════════════════════
  4052.  
  4053.  
  4054.        CHARACTER SET - Display and Select Character Set (ALT-F)
  4055.  
  4056.       Shows  a  screen  containing  all  special  IBM  extended character
  4057.       symbols.   From this  you can  select which character set you would
  4058.       like to work with.  Use the arrow keys or the mouse.  Press [ENTER]
  4059.       to save your choice.
  4060.  
  4061.  
  4062.        TAB SETUP - Adjust TheDraw Tab Stops (ALT-T)
  4063.  
  4064.       This command  permits the  setting of tabs in the editor (positions
  4065.       where the [TAB] key stops).  Initially the  positions are  at every
  4066.       tenth column.   Sub-commands  are available  for setting, clearing,
  4067.       and resetting tabs.
  4068.  
  4069.  
  4070.        RULER - On-Screen Ruler (ALT-N)
  4071.  
  4072.       Places a pair of lines on the screen which intersect  at the cursor
  4073.       position.   Move the  ruler using  arrows or the mouse.  [ENTER] or
  4074.       LEFT mouse button saves the new cursor position.   This  command is
  4075.       useful for  aligning items of the screen.  The ruler can be held on
  4076.       the screen by selecting the [S]ticky option.
  4077.  
  4078.  
  4079.        PAINT/FILL - Enclosed Area Painter (ALT-P)
  4080.  
  4081.       Lets you fill an enclosed area easily with  characters and/or color
  4082.       attributes.    An  area  is  defined as any shape formed using line
  4083.       characters (from function key sets  1-4).    To  use  this command,
  4084.       position the  cursor inside  the target  area before activating the
  4085.       pull down menus.
  4086.  
  4087.  
  4088.        TheDraw v4.51           Pull Down Menu System            58
  4089.  
  4090.  
  4091.  
  4092.        SETUP OPTIONS - Default Setup Configuration (no separate key sequence)
  4093.  
  4094.       Provides access to many  of the  configurable defaults  while using
  4095.       TheDraw.  The following options may be changed:
  4096.  
  4097.       WORKSHEET WIDTH
  4098.          Choose how  wide the  edit buffer  should be.   Either 80 or 160
  4099.          characters.
  4100.  
  4101.       WORKSHEET DEPTH
  4102.          Choose how deep the edit buffer should be.  Can  be 23,  25, 43,
  4103.          or 50  lines.   Note the worksheet depth cannot be less than the
  4104.          video mode in use.  For  example, if  using 43  line EGA editing
  4105.          the worksheet depth may only be 43 or 50 lines.
  4106.  
  4107.          An  exception  is  the  23  line buffer, available only with the
  4108.          standard 80x25 video mode.   Using  the 23  line buffer disables
  4109.          full screen editing and [CTRL-PRTSC] is ignored.
  4110.  
  4111.       VIDEO SCREEN MODE
  4112.          Choose  one  of  the  following  video  edit modes:  Standard 80
  4113.          character by 25 lines (80x25),  80x43  (if  using  EGA  card) or
  4114.          80x50 (if using VGA card).
  4115.  
  4116.       MAINTAIN FILE DIRECTORY LISTING WILDCARDS
  4117.          Tells TheDraw  to maintain  wildcards specified in the directory
  4118.          listing available during loading  (or  deleting).    For example
  4119.          entering  "*.BIN"  to  see  all  binary  files would normally be
  4120.          forgotten, unless this option was turned on.
  4121.  
  4122.       DEFAULT SAVE SCREEN FORMAT
  4123.          Default file format TheDraw  should select  when saving  a file.
  4124.          Upon hitting ALT-S, you are present with many choices.  Pressing
  4125.          [ENTER] selects  the default  save screen  format.   If you find
  4126.          yourself  using  a  specific  format often, changing the default
  4127.          might make things easier.
  4128.  
  4129.  
  4130.       DEFAULT LOAD SCREEN FORMAT
  4131.          Similar to the above, but  used  during  loading.    If  you are
  4132.          working with  a given  file type regularly, changing the default
  4133.          load format will saves typing the file extension.   ie:   if set
  4134.          to Binary, "DEMO" becomes "DEMO.BIN" instead of "DEMO.ANS".
  4135.  
  4136.       CREATE BACKUP FILES
  4137.          Instructs TheDraw  to generate  backup files  when saving.  If a
  4138.          file  already  exists,  TheDraw  renames  the   existing  file's
  4139.          extension to .BAK before continuing.
  4140.  
  4141.       SAVING FILENAME PICK LIST ON EXIT TO DOS
  4142.          Controls the  saving of  the filename pick list to disk on exit.
  4143.          When off, any accumulated filenames will be lost upon exit.
  4144.  
  4145.  
  4146.        TheDraw v4.51           Pull Down Menu System            59
  4147.  
  4148.  
  4149.  
  4150.       ASK TO SAVE CHANGES BEFORE EXITING
  4151.          TheDraw can be made to prompt  before allowing  exit to  Dos, if
  4152.          changes were made to the current page or any page.
  4153.  
  4154.       USE ALT-KEY HELP WINDOW
  4155.          Holding  down  the  ALT  key  for about three seconds displays a
  4156.          brief pop-up of available commands.  The feature may be disabled
  4157.          by toggling this option.
  4158.  
  4159.       BLANK SCREEN AFTER HOW MANY MINUTES
  4160.          TheDraw will  blank the screen by writing blanks if no action is
  4161.          taken for a specified time.  The time delay can be set from 1 to
  4162.          255 minutes, or turned off completely.
  4163.  
  4164.       DISK SWAP FILE PATHNAME
  4165.          Used when  doing a Dos Shell (see ALT-X,S).  TheDraw attempts to
  4166.          write all its data  to expanded  memory or  a disk  swap file to
  4167.          provide more  room during  the shell.   If insufficient expanded
  4168.          memory (EMM or EMS) is available, the disk swap file  is used at
  4169.          the  specified  path.    Leaving  this option blank will prevent
  4170.          TheDraw from using a swap file.
  4171.  
  4172.       DEFAULT FILENAME EXTENSIONS
  4173.          The default filename extensions TheDraw uses when saving a file.
  4174.          Change  to  your  preference.    For instance, if saving an Ansi
  4175.          file, TheDraw will change "DEMO" into "DEMO.ANS".
  4176.  
  4177.       DEFAULT ASM,PASCAL,C SAVE FORMAT
  4178.          Controls if TheDraw defaults to Normal,  Ascii, or  Crunching of
  4179.          screen data.  See ALT-S for more information.
  4180.  
  4181.       FILTER OUT SOLID SPACES ON ANSI/ASCII/ASM/PASCAL/C FILES
  4182.          Occasionally   solid   spaces   (entered  with  Shift-Space  key
  4183.          combination) cause prompts with  other  programs.    This filter
  4184.          will  convert  all  solid  spaces  to  normal spaces in the data
  4185.          written to disk (for Ansi, Ascii, Asm, Pascal, and C formats).
  4186.  
  4187.       FORCE CR/LF ON END OF LINES OF ASCII THAT ARE SCREEN WIDTH
  4188.          TheDraw is faced with a dilemma  when saving  Ascii files.   The
  4189.          Dos TYPE command automatically wraps the cursor down a line when
  4190.          screen width text (80 characters) is printed.   TheDraw normally
  4191.          handles this  by not  writing a carriage return sequence (CR/LF)
  4192.          for those lines, as it is not needed.  However,  reading such an
  4193.          Ascii file  into other  programs can  cause problems.  Therefore
  4194.          this option forces TheDraw to always write the  CR/LF regardless
  4195.          of anything.  A simple, yet effective, solution.
  4196.  
  4197.       RESET COLORS TO WHITE ON END OF ANSI FILES
  4198.          Controls if TheDraw resets the Ansi colors to white after all is
  4199.          said and done.  Generally of use in  animation files,  where the
  4200.          last character printed is flashing magenta on a green background
  4201.          (or some even worse color combination).
  4202.  
  4203.  
  4204.        TheDraw v4.51           Pull Down Menu System            60
  4205.  
  4206.  
  4207.  
  4208.       DEFAULT ANSI VIDEO PREPARATION
  4209.          Choose if by default TheDraw does  nothing, homes  the cursor to
  4210.          the  upper  left  screen  corder,  or  clears  the screen before
  4211.          displaying an Ansi file.
  4212.  
  4213.       DEFAULT ANSI SLOW DOWN FACTOR
  4214.          Choose how many delay elements TheDraw  inserts by  default into
  4215.          an  Ansi  file.    Normally  used  on  faster  machines  to make
  4216.          animation more appealing (ie: visible).
  4217.  
  4218.       MAXIMUM ANSI LINE LENGTH
  4219.          Controls the maximum line length TheDraw  will permit  a line of
  4220.          Ansi  to  become.    Some  programs have line length limitations
  4221.          (such as bulletin board systems).  Since TheDraw can conceivable
  4222.          generate lines  thousands of characters long, this option allows
  4223.          you to compensate.   The  setting  can  be  between  32  and 255
  4224.          characters, or set to Unlimited if no conflicts exist.
  4225.  
  4226.  
  4227.  
  4228.        The SCREEN Menu
  4229.        ──────────────────────────────────────────────────────────────────────
  4230.        Use items  in the  Screen menu  to erase  a page  layer or select some
  4231.        other page.  Other options allow you to insert, delete, or restore the
  4232.        contents of individual lines.
  4233.  
  4234.  
  4235.       ════════════════════════════════════════════════════════════════
  4236.       Files Global Options SCREEN foNts Animation   Color Toggles Help
  4237.                   ┌──────────────────────┐
  4238.                   │ Clear Page     Alt-C │
  4239.                   │ Select Page    Alt-E │
  4240.                   │ Insert Line    Alt-I │
  4241.                   │ Delete Line    Alt-Y │
  4242.                   │ Insert Column        │
  4243.                   │ Delete Column        │
  4244.                   │ Restore/Undo   Alt-R │
  4245.                   └──────────────────────┘
  4246.       ════════════════════════════════════════════════════════════════
  4247.  
  4248.  
  4249.        CLEAR PAGE - Clear the Current or All Page Layers (ALT-C)
  4250.  
  4251.       Erases the  image in  the current  page.  You may also opt to erase
  4252.       all page layers in  one fell  swoop for  a completely  clean slate.
  4253.       You will  be prompted  to save  the current  screen if changes have
  4254.       been made.
  4255.  
  4256.  
  4257.  
  4258.  
  4259.  
  4260.  
  4261.  
  4262.        TheDraw v4.51           Pull Down Menu System            61
  4263.  
  4264.  
  4265.  
  4266.  
  4267.        SELECT PAGE - Choose new page layer to display or work on (ALT-E)
  4268.  
  4269.       Prompts for a new  page layer  you wish  to edit.   Enter  a number
  4270.       between one  (1) and  the number of available pages.  The mouse can
  4271.       be used for selection by pressing the RIGHT button.
  4272.  
  4273.  
  4274.        INSERT LINE - Place blank line on screen (ALT-I)
  4275.  
  4276.       Inserts a blank horizontal screen line at the position of  the edit
  4277.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4278.       command (ALT-R).
  4279.  
  4280.  
  4281.        DELETE LINE - Delete current line from screen (ALT-Y)
  4282.  
  4283.       Deletes a horizontal  screen  line  at  the  position  of  the edit
  4284.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4285.       command (ALT-R).
  4286.  
  4287.  
  4288.        INSERT COLUMN - Place blank column on screen (ALT-<left arrow>)
  4289.  
  4290.       Inserts a blank vertical screen column at the position of  the edit
  4291.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4292.       command (ALT-R).
  4293.  
  4294.  
  4295.        DELETE COLUMN - Delete current line from screen (ALT-<right arrow>)
  4296.  
  4297.       Deletes a vertical  screen  column  at  the  position  of  the edit
  4298.       cursor.  This command can be reversed by utilizing the Restore/Undo
  4299.       command (ALT-R).
  4300.  
  4301.  
  4302.        RESTORE/UNDO - Recover from unwanted changes on the screen (ALT-R)
  4303.  
  4304.       Undoes the most recent  changes done  to the  screen.   The restore
  4305.       can "undo" block operations, line insertion or deletions, animation
  4306.       mode toggles, global screen functions, font entry, and  any changes
  4307.       to the  current horizontal  line being  worked on.   Notes with the
  4308.       latter item, once you leave the current horizontal line any changes
  4309.       are permanent.
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.        TheDraw v4.51           Pull Down Menu System            62
  4321.  
  4322.  
  4323.  
  4324.        The FONTS Menu
  4325.        ──────────────────────────────────────────────────────────────────────
  4326.        The Fonts  pulldown menu  supports choosing various styles and outline
  4327.        types.  The menu shown below  is only  an example.   The  actual fonts
  4328.        available can  vary depending on your configuration.  Additional fonts
  4329.        may be present, or  the  ones  shown  changed.    Ascii  fonts  can be
  4330.        extremely useful  in sprucing  up a  display.   They are excellent for
  4331.        title bars, or whatever you desire.  Upon choosing an  Ascii font, the
  4332.        word "FONT" will appear in the status line.
  4333.  
  4334.       ════════════════════════════════════════════════════════════════
  4335.       Files Global Options Screen FONTS Animation   Color Toggles Help
  4336.                      ┌─────────────────────┐
  4337.                      │ √ Standard Font     │
  4338.                      │   outline Type      │
  4339.                      │─────────────────────│
  4340.                      │   A: Outline      * │
  4341.                      │   B: BigOutline   * │
  4342.                      │   C: ThickOutline   │
  4343.                      │   D: Medium         │
  4344.                      │   E: Rounded        │
  4345.                      │   F: Raster         │
  4346.                      └─────────────────────┘
  4347.       ════════════════════════════════════════════════════════════════
  4348.  
  4349.        STANDARD FONT:
  4350.  
  4351.        The standard  font is  the normal  text lettering associated with each
  4352.        key.  This is the default setting upon loading TheDraw.   The standard
  4353.        font is used for lettering seen in the help screens, the pulldown menu
  4354.        bar, status line, etc...
  4355.  
  4356.  
  4357.        OUTLINE TYPE - Choose a Font Outline:
  4358.  
  4359.        The outline type option  is only  available when  an outline formatted
  4360.        font  is  selected.    These  are  indicated  with  an  asterisk ("*")
  4361.        appearing after the font description.    Outline  formatted  fonts are
  4362.        special in  that they  can appear  in different  styles.  There are 17
  4363.        various styles to choose from.  Some examples are:
  4364.  
  4365.               ┌─────┐     ┌─────╖     █▀▀▀▀▀█
  4366.               │     │     │     ║     █     █
  4367.               │     │     │     ║     █     █
  4368.               │     │     │     ║     █     █
  4369.               └─────┘     ╘═════╝     ▀▀▀▀▀▀▀
  4370.  
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.        TheDraw v4.51           Pull Down Menu System            63
  4379.  
  4380.  
  4381.  
  4382.  
  4383.        FONT SELECTION:
  4384.  
  4385.        Remaining options in the fonts submenu select specific fonts.  TheDraw
  4386.        supports the entire visible Ascii character set (#33 to #126).  ie:
  4387.  
  4388.           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
  4389.           PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  4390.  
  4391.        Extended function key symbols are not currently supported.  To enter a
  4392.        given symbol to the edit screen,  simply press  the corresponding key.
  4393.        ie: for  a letter "A", type the "A" key.  The symbol will appear fully
  4394.        in the current color attributes.
  4395.  
  4396.        Not all symbols are necessarily available  in all  fonts.   Some fonts
  4397.        may only  provide the alphabet and numbers.  TheDraw beeps if a wanted
  4398.        symbol is not available.  The original fonts  distributed with TheDraw
  4399.        do not contain any omissions.
  4400.  
  4401.        Once a  font has  been selected,  the word  "FONT" replaces the "Text"
  4402.        indicator on the status  line as  a reminder.   In  addition, once you
  4403.        start typing  symbols the cursor becomes a full block.  So long as the
  4404.        full block cursor is shown, you can use  the BackSpace  key to correct
  4405.        mistakes  on  the  fly.    Press  ALT-R  (Restore/Undo)  to remove any
  4406.        undesired key sequences completely.
  4407.  
  4408.  
  4409.  
  4410.        The ANIMATION Menu
  4411.        ──────────────────────────────────────────────────────────────────────
  4412.        Provides various facilities for  working  with  the  TheDraw animation
  4413.        system.  Options  allow  the  display  and  editing  of  the animation
  4414.        sequence.    The  registered  version  of  TheDraw  adds  Limiting and
  4415.        animation markers  (as shown below).  Note this menu is only available
  4416.        when TheDraw is actually in animation mode - otherwise it is disabled.
  4417.  
  4418.  
  4419.       ════════════════════════════════════════════════════════════════
  4420.       Files Global Options Screen foNts ANIMATION   Color Toggles Help
  4421.                        ┌───────────────────────────┐
  4422.                        │ Screen Redraw       Alt-Q │
  4423.                        │ Change Character    Alt-W │
  4424.                        │ Erase Character     Alt-Z │
  4425.                        │───────────────────────────│
  4426.                        │ Include Files     Alt-G,I │
  4427.                        │ Limiting          Alt-G,L │
  4428.                        │ marKer            Alt-G,K │
  4429.                        │ Movement Storage  Alt-G,M │
  4430.                        │ Rescan Animation  Alt-G,R │
  4431.                        │ Pause Animation   Alt-G,P │
  4432.                        └───────────────────────────┘
  4433.       ════════════════════════════════════════════════════════════════
  4434.  
  4435.  
  4436.        TheDraw v4.51           Pull Down Menu System            64
  4437.  
  4438.  
  4439.  
  4440.        SCREEN REDRAW - Display the Entire Animation Sequence (ALT-Q)
  4441.  
  4442.       Display the animation sequence as entered.   The  command is useful
  4443.       for seeing  how your  work is progressing.  The speed of the redraw
  4444.       may be controlled by  specifying a  number between  0 (fastest) and
  4445.       255 (slowest).
  4446.  
  4447.  
  4448.        CHANGE CHARACTER - Edit a Character in Animation Sequence (ALT-W)
  4449.  
  4450.       Allows the  editing of  a mistyped animation entry.  Animation mode
  4451.       differs from the normal  edit  mode  in  that  simply  overtyping a
  4452.       character does not replace it.  In animation mode, both entries are
  4453.       remembered - the incorrect  character, plus  the wanted  one.  This
  4454.       command can changes entries without adding unwanted new ones.
  4455.  
  4456.  
  4457.        ERASE CHARACTER - Delete a Character from Animation Sequence (ALT-Z)
  4458.  
  4459.       Deletes characters from the animation sequence.  As stated above in
  4460.       the CHANGE CHARACTER option, a character is not replaced or deleted
  4461.       in animation  mode by  overtyping.  To erase something this command
  4462.       must be used.   Only  the  top-most  character  (the  one currently
  4463.       visible) is removed; anything under it is left intact.
  4464.  
  4465.  
  4466.        INCLUDE FILES - Ansi/Ascii Include Files (ALT-J,Include)
  4467.  
  4468.       Allows  text  files  created  by  programs other than TheDraw to be
  4469.       inserted into  Animation sequences.   Particularly  useful for Ansi
  4470.       Music, BBS control codes, and often used sequences.
  4471.  
  4472.  
  4473.        LIMITING - Animation Sequence Editing (ALT-J,Limit) - Registered
  4474.  
  4475.       Limiting gives  total control  over the  animation sequence, making
  4476.       changes anywhere trivial.  Normally all  changes and  additions are
  4477.       done on  the end of the animation sequence.  By using limiting, you
  4478.       can move the edit point to anywhere within the sequence.
  4479.  
  4480.       Once the limit point has been set, TheDraw operates only up to that
  4481.       point.   All deletions, additions and correcting are done where the
  4482.       limit is specified.  Everything in the sequence above the  limit is
  4483.       protected, temporarily out of the way.
  4484.  
  4485.  
  4486.        MARKER - Animation Markers (ALT-J,marKer) - Registered
  4487.  
  4488.       Markers  are  used  to  "mark"  or  "tag"  different  places in the
  4489.       animation sequence for later reference.   Once set,  markers can be
  4490.       used for  quickly changing the animation limit position (see above)
  4491.       and viewing specific portions of the animation sequence.
  4492.  
  4493.  
  4494.        TheDraw v4.51           Pull Down Menu System            65
  4495.  
  4496.  
  4497.  
  4498.        MOVEMENT STORAGE - Cursor Movement Storage (ALT-J,Movement)
  4499.  
  4500.       Controls whether or not cursor movement is stored  in the animation
  4501.       sequence.     Normally  only   characters  specifically  typed  are
  4502.       recorded.   With this  option turned  on however,  movements of the
  4503.       cursor are also saved (for example, using the mouse or arrow keys).
  4504.  
  4505.  
  4506.        RESCAN ANIMATION - Animation Screen Rescanning (ALT-J,Rescan)
  4507.  
  4508.       Creates a  new animation  sequence using  the current screen image.
  4509.       Any previous animation is lost (unless in animation limiting mode).
  4510.  
  4511.  
  4512.        PAUSE ANIMATION - Animation Pausing (ALT-J,Pause)
  4513.  
  4514.       Inserts  either  a  keyboard  or  timed  pause  into  the animation
  4515.       sequence.  Gives the opportunity to sit and reflect upon  a certain
  4516.       presentation.   Note these  pauses are truly functional only within
  4517.       TheDraw or THEPP (The Presentation Program).  In  Ansi files, timed
  4518.       pauses cannot  be accurately saved.  Keyboard pauses are flatly not
  4519.       possible with standard Ansi.
  4520.  
  4521.  
  4522.  
  4523.        The COLOR Menu
  4524.        ──────────────────────────────────────────────────────────────────────
  4525.        Use this menu to select edit colors.  Available options set the normal
  4526.        edit  foreground  and  background  color, the default background color
  4527.        used for erasing areas, and "picking  up" colors  currently used under
  4528.        the cursor.
  4529.  
  4530.  
  4531.       ════════════════════════════════════════════════════════════════
  4532.       Files Global Options Screen foNts Animation   COLOR Toggles Help
  4533.                            ┌─────────────────────┐
  4534.                            │ Fore/Back     Alt-A │
  4535.                            │ Default       Alt-D │
  4536.                            │ Under Cursor  Alt-U │
  4537.                            └─────────────────────┘
  4538.       ════════════════════════════════════════════════════════════════
  4539.  
  4540.  
  4541.        FORE/BACK - Change New Character Fore/Background Color (ALT-A)
  4542.  
  4543.       Displays a  screen showing  available colors.  Simply select wanted
  4544.       color using mouse, arrow keys, or directly typing the number.   See
  4545.       also CTRL-UP/DOWN.
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.  
  4552.        TheDraw v4.51           Pull Down Menu System            66
  4553.  
  4554.  
  4555.  
  4556.  
  4557.        DEFAULT - Change Default Erase Background Color (ALT-D)
  4558.  
  4559.       Similar  to  above,  except  changes  default  color.  This is used
  4560.       whenever TheDraw must erase  an  area,  or  otherwise  deal  with a
  4561.       "void" created by some operation.
  4562.  
  4563.  
  4564.        UNDER CURSOR - Use Colors Currently Under Cursor (ALT-U)
  4565.  
  4566.       Changes  new  character  fore/background  color attributes to those
  4567.       under the edit cursor.  Very  useful for  making quick  updates and
  4568.       fixes.
  4569.  
  4570.  
  4571.  
  4572.        The TOGGLES Menu
  4573.        ──────────────────────────────────────────────────────────────────────
  4574.        The Toggles  menu contains settings for controlling how TheDraw works.
  4575.        The settings affect things  like line  draw or  sprite mode, animation
  4576.        mode toggling, character insert mode, and full screen editing.
  4577.  
  4578.  
  4579.       ════════════════════════════════════════════════════════════════
  4580.       Files Global Options Screen foNts Animation   Color TOGGLES Help
  4581.                            ┌─────────────────────────┐
  4582.                            │ Draw Mode         Alt-M │
  4583.                            │ Color Draw        Alt-- │
  4584.                            │ Sprite Mode     Alt-E,T │
  4585.                            │ Animation Mode    Alt-J │
  4586.                            │ Insert Mode         Ins │
  4587.                            │ Full Screen  Ctrl-PrtSc │
  4588.                            └─────────────────────────┘
  4589.       ════════════════════════════════════════════════════════════════
  4590.  
  4591.  
  4592.        DRAW MODE - Line Draw Mode Toggle (ALT-M)
  4593.  
  4594.       Turns on/off line drawing mode.  Line drawing is accomplished using
  4595.       characters from function key sets 1 to 4.  In this mode, moving the
  4596.       cursor draws  a line.   Useful for creating abstract shapes quickly
  4597.       and easily.
  4598.  
  4599.  
  4600.        COLOR DRAW - Color Draw Mode Toggle (ALT--)
  4601.  
  4602.       Turns on/off color attribute drawing mode.  Color  drawing involves
  4603.       simply changing  characters to the current colors.  A manual way of
  4604.       easily painting an area a given color.
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610.        TheDraw v4.51           Pull Down Menu System            67
  4611.  
  4612.  
  4613.  
  4614.        SPRITE MODE - Sprite Editing Toggle (ALT-E,Toggle)
  4615.  
  4616.       Turns on/off TheDraw Sprite  Editing Mode.   Please  refer to ALT-E
  4617.       for discussion about this mode.
  4618.  
  4619.  
  4620.        ANIMATION MODE - Animation Mode Toggle (ALT-J)
  4621.  
  4622.       Changes TheDraw from Normal to Animation mode and visa versa.  When
  4623.       going from  Normal to  Animation mode,  a list  of available screen
  4624.       scanners are presented.  Refer to ALT-J for more details.
  4625.  
  4626.  
  4627.        INSERT MODE - Character Insert Mode Toggle (INS)
  4628.  
  4629.       Turns  on/off  character  insert  mode.    In  insert  mode, typing
  4630.       something bumps everything to the right  to make  room for  the new
  4631.       character.
  4632.  
  4633.  
  4634.        FULL SCREEN - Full Screen Editing Toggle (CTRL-PRTSC)
  4635.  
  4636.       Toggles using  the entire  screen for editing.  In full screen edit
  4637.       mode, the status line  along with  all indicators  disappear.  This
  4638.       makes the full 80 by 25 screen available for editing.
  4639.  
  4640.  
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.  
  4648.  
  4649.  
  4650.  
  4651.  
  4652.  
  4653.  
  4654.  
  4655.  
  4656.  
  4657.  
  4658.  
  4659.  
  4660.  
  4661.  
  4662.  
  4663.  
  4664.  
  4665.  
  4666.  
  4667.  
  4668.        TheDraw v4.51           Pull Down Menu System            68
  4669.  
  4670.  
  4671.  
  4672.  
  4673.                  THEDRAW KEYBOARD COMMANDS
  4674.  
  4675.  
  4676.             ALT-A: CHANGE TEXT COLOR ATTRIBUTES
  4677.  
  4678.        This function  allows you  to change the current color attributes used
  4679.        by TheDraw.  These attributes "color" any new characters placed on the
  4680.        screen.   When you press ALT-A, the screen will change to a display of
  4681.        the available and currently selected colors.
  4682.  
  4683.        The lower portion of the screen contains two prompts:
  4684.  
  4685.               Please Select Foreground Color (0-31):
  4686.               Please Select Background Color  (0-7):
  4687.  
  4688.        The cursor will be flashing immediately after the  first prompt.   You
  4689.        can now change the current foreground color via the Up/Down arrow keys
  4690.        or by directly typing  the number  associated with  a foreground color
  4691.        (see table  below).   Mouse users can position the mouse on the wanted
  4692.        color then press a button.
  4693.  
  4694.            0  Black              8  Dark Gray
  4695.            1  Blue               9  Light Blue
  4696.            2  Green             10  Light Green
  4697.            3  Cyan              11  Light Cyan
  4698.            4  Red               12  Light Red
  4699.            5  Magenta           13  Light Magenta
  4700.            6  Brown             14  Yellow
  4701.            7  Light Gray        15  White
  4702.  
  4703.        Characters can be made to blink by selecting colors from  the range 16
  4704.        through 31.  These match the above exactly, except they blink.
  4705.  
  4706.        After  changing  the  foreground  color  (or leaving it alone) you can
  4707.        either proceed to the background colors  by pressing  [ENTER] or press
  4708.        [ESC] to  return to the edit screen.  The background color is selected
  4709.        in a fashion similar to the above.  Allowed values are the first eight
  4710.        (0 through  7) colors.   There are no background colors available that
  4711.        allow background blinking.
  4712.  
  4713.        Pressing either [ENTER] or [ESC] at this point will return to the edit
  4714.        screen.
  4715.  
  4716.        Notes:   It  is  possible  to  change  the colors without using ALT-A.
  4717.         Please see the Ctrl-<Arrow Key> commands for more details
  4718.         (ie: Ctrl-<Up Arrow>, Ctrl-<Left Arrow>, etc...)
  4719.  
  4720.         Monochrome screen users will find background colors generally
  4721.         useless except when set to light gray (7) while using a black
  4722.         foreground color of 0 or 16 (blinking black).
  4723.  
  4724.  
  4725.  
  4726.        TheDraw v4.51         TheDraw Command Functions          69
  4727.  
  4728.  
  4729.  
  4730.  
  4731.                ALT-B: BLOCK ACTION COMMANDS
  4732.  
  4733.        The Block Action Commands  provide  many  facilities  for  editing the
  4734.        current screen  and making  extensive changes.   The following options
  4735.        are available:
  4736.  
  4737.       o  Move or Copy blocks of text.
  4738.       o  Fill in areas with characters, colors or both.
  4739.       o  Perform left, right or center text justification.
  4740.       o  Draw boxes or outline text with lines quickly and easily.
  4741.       o  Delete or simply Erase blocks of text.
  4742.       o  Load a block of screen area from a file on disk.
  4743.       o  Save just a piece of the current screen to disk.
  4744.       o  Rescan an area into animation sequence (animation mode only).
  4745.  
  4746.        The Block Action Commands in TheDraw are one of the  more useful tools
  4747.        available.  After pressing ALT-B, you will see the following prompt:
  4748.  
  4749.      Use [L]ast block or move to Upper-Left corner and press [SPACE].
  4750.  
  4751.        Press [L]  to use  the last  block specified.   Otherwise define a new
  4752.        block by indicating the upper-left and  lower-right corners.   Use the
  4753.        arrow keys,  PgUp, PgDn,  Home or End keys on the keyboard to move the
  4754.        cursor to  the wanted  locations, then  press [SPACE]  after you reach
  4755.        each point.
  4756.  
  4757.        The current block is highlighted (colors inverted) to make it obvious.
  4758.        Once you define the upper-left corner of the block, moving above or to
  4759.        the left  of it will not invert any text.  TheDraw will stop the block
  4760.        marking if you press [SPACE] under this situation.
  4761.  
  4762.        Upon pressing  [SPACE] the  second time  (with an  inverted block) you
  4763.        will see  the available block option commands.  The items on the menu,
  4764.        and their significance are described on the following pages.
  4765.  
  4766.        -----
  4767.  
  4768.        Mouse users may mark a block  by pressing  and holding  the LEFT mouse
  4769.        button,  moving  the  mouse  to  wanted  block size, and releasing the
  4770.        button.  Block option commands as described below will then appear.
  4771.  
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.  
  4779.  
  4780.  
  4781.  
  4782.  
  4783.  
  4784.        TheDraw v4.51         TheDraw Command Functions          70
  4785.  
  4786.  
  4787.  
  4788.  
  4789.        COPY - Copy a Block
  4790.  
  4791.       Copies the marked block.  Use mouse or normal cursor movement keys,
  4792.       such as  the arrow  keys, Tab,  PgUp, PgDn, Home or End to move the
  4793.       block copy around.  Available sub-commands are:
  4794.  
  4795.         pagE   - Change to a different page layer screen.   With this
  4796.              option you can choose to stamp (see below) copies of
  4797.              the block on other layers.   A small  window appears
  4798.              with  a  prompt  for  the  new  page layer.  Enter a
  4799.              number or press [ESC] to abort.
  4800.  
  4801.         Toggle - Toggles  between  single  layer  and  sprite editing
  4802.              modes (see  ALT-E for discussion on sprite editing).
  4803.              In sprite mode, any text on  a higher  numbered page
  4804.              layer will appear "under" text on the current page.
  4805.  
  4806.         Stamp  - Makes  a  copy  of  the current block at the current
  4807.              position.  Additional copies  can  be  made  as many
  4808.              times as wished.
  4809.  
  4810.         Under  - Toggles between  moving the block "above" or "under"
  4811.              the current page layer.   The  block copy  starts in
  4812.              above  mode.    In  above  mode  the entire block is
  4813.              visible, no matter where  it  is  moved.    In under
  4814.              mode, the  block appears UNDER any other text on the
  4815.              current page layer.  It will  only show  through the
  4816.              black spaces on the current layer.
  4817.  
  4818.              Note:     Under  mode  also  allows  an  interesting
  4819.                    effect.  If you  are  sprite  editing (see
  4820.                    ALT-E  command)  the  block will appear to
  4821.                    move -between- the current layer and those
  4822.                    below it.
  4823.  
  4824.         [ENTER]  Saves all changes made to all layers.
  4825.  
  4826.         [ESC]    Aborts and removes all changes made to all layers.
  4827.  
  4828.  
  4829.  
  4830.        MOVE - Move a Block
  4831.  
  4832.       Moving a block operates identically to copying a block (see above).
  4833.       The only difference is the block  is  "cut"  out  from  the current
  4834.       screen, leaving a hole behind.  This hole is filled with spaces and
  4835.       the current  default  background  color  (see  ALT-D  regarding the
  4836.       default background  color).   All sub-commands are identical to the
  4837.       block copy described above.  Under animation, the  exact pattern of
  4838.       a the shifted animation sequence is relocated.
  4839.  
  4840.  
  4841.  
  4842.        TheDraw v4.51         TheDraw Command Functions          71
  4843.  
  4844.  
  4845.  
  4846.  
  4847.        FILL - Fill a Block
  4848.  
  4849.       Fills  the  marked  block  based  on  a specified sub-command.  The
  4850.       available options are listed below:
  4851.  
  4852.         Attribute - Changes  both  foreground  and  background  color
  4853.                 attributes  to  current  values  shown  in status
  4854.                 line.
  4855.  
  4856.         Fore      - Changes just  the foreground  color attributes to
  4857.                 current values shown in status line.
  4858.  
  4859.         bacK      - Changes just  the background  color attributes to
  4860.                 current values shown in status line.
  4861.  
  4862.         Use       - Changes  both  foreground  and  background  color
  4863.                 attributes  to  those  under  the CURSOR when you
  4864.                 first pressed ALT-B.  This is  not the upper-left
  4865.                 block corner,  but the position on the screen the
  4866.                 cursor  was  sitting  when  block  commands  were
  4867.                 first selected.
  4868.  
  4869.         Character - Prompts  for  a  keyboard  character  or  special
  4870.                 function set symbol (see  ALT-F command).   Solid
  4871.                 spaces can  be used by pressing Shift-Space.  The
  4872.                 block  is  then  overwritten  using  whatever was
  4873.                 selected.   The color  attributes at a given spot
  4874.                 are not changed, just the character there.
  4875.  
  4876.         Both      - Combines both the  Attribute  and  Character fill
  4877.                 operations  described  above.    A  character  is
  4878.                 prompted for, then  everything  in  the  block is
  4879.                 overwritten using that character with the current
  4880.                 color attributes from the status line.
  4881.  
  4882.  
  4883.       These  commands  offer  much  flexibility;  however,  nothing  will
  4884.       satisfy everyone.   For  this reason,  the "last  block" option was
  4885.       added.  To perform multiple fill operations on a given block is now
  4886.       done quickly and easily.
  4887.  
  4888.       ----
  4889.  
  4890.       Note: In animation mode, the Attribute, Fore, bacK, and Use options
  4891.         actually change characters in the animation  sequence (no new
  4892.         characters are  added).   Use of the Character or Both option
  4893.         in Animator  mode however  WILL add  additional characters to
  4894.         the animation sequence.
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900.        TheDraw v4.51         TheDraw Command Functions          72
  4901.  
  4902.  
  4903.  
  4904.  
  4905.        TEXT - Block Text Operations
  4906.  
  4907.       Performs various text operations on the specified block.  Available
  4908.       sub-commands are:
  4909.  
  4910.         Box     - Draws a box using  the current  function set.   The
  4911.               box  border  is  defined  by the edges of the block
  4912.               area.  The contents of the box are  left unchanged,
  4913.               however anything  where the  box lines are actually
  4914.               drawn will be overwritten.
  4915.  
  4916.         Outline - Operates similar to  the  Box  command,  except the
  4917.               contents of  the block are examined first.  The box
  4918.               border will be  adjusted  to  just  accommodate all
  4919.               words  either  fully  or partially contained by the
  4920.               block area.
  4921.  
  4922.               For instance,  assume  just  one  character  in the
  4923.               center  of  the  edit  screen.    You then mark the
  4924.               entire screen as a block, and  select text outline.
  4925.               The  result  would  only  be a small box around the
  4926.               character.
  4927.  
  4928.               Going the other way, if you  block marked  just the
  4929.               center letter  of a  long word (with no spaces) the
  4930.               block edges would expand to accommodate  the entire
  4931.               word.    Note: the expansion is only done for words
  4932.               INITIALLY part of the block.   Any words  the block
  4933.               expansion happens  to go  over are ignored, and are
  4934.               not considered by Text Outline.
  4935.  
  4936.         Center  - Text contained or partially contained by  the block
  4937.               is centered.   The  way this  is done is similar to
  4938.               the text Outline described  above.    Each  line of
  4939.               characters considered  is expanded  to just enclose
  4940.               all words.  The string of words is then centered on
  4941.               the position of the block.
  4942.  
  4943.         Left    - Text contained  or partially  contained is moved to
  4944.               the left edge of the  block.    Block  expansion is
  4945.               used so words are not split apart.
  4946.  
  4947.         Right   - Identical  to  Left  except  contained or partially
  4948.               contained text is moved  to the  right edge  of the
  4949.               block.
  4950.  
  4951.  
  4952.       These  commands  are  useful  making  menu  displays,  short memos,
  4953.       letters, etc...
  4954.  
  4955.  
  4956.  
  4957.  
  4958.        TheDraw v4.51         TheDraw Command Functions          73
  4959.  
  4960.  
  4961.  
  4962.  
  4963.        DELETE - Delete a Block
  4964.  
  4965.       This command is fairly intuitive.  The block is completely removed.
  4966.       Anything on the edit screen to the right of the block is shift over
  4967.       to fill in the space.  The area previously occupied  by the shifted
  4968.       text is  erased using  spaces and the default background color (see
  4969.       the ALT-D).
  4970.  
  4971.  
  4972.        ERASE - Erase a Block
  4973.  
  4974.       Erases the block, without  changing anything  other portion  of the
  4975.       edit  screen.    The  block  is erased using spaces and the default
  4976.       background color (see ALT-D).
  4977.  
  4978.  
  4979.        REPLACE - Block Character/Color Replace
  4980.  
  4981.       Performs character  and/or  color  attribute  replacement  on block
  4982.       based on  specified sub-command.  The pattern is whatever was under
  4983.       the cursor when ALT-G was  selected.    The  available  options are
  4984.       shown below (these are similar to the Fill options):
  4985.  
  4986.         Attribute -   Searches  both  foreground and background color
  4987.                   attributes,  then  replaces  all  matches  with
  4988.                   current values shown on status line.
  4989.  
  4990.         Fore       -  Searches and replaces just the foreground color
  4991.                   attributes with current value.
  4992.  
  4993.         bacK       -  Searches and replaces just the background color
  4994.                   attributes with current value.
  4995.  
  4996.         Character -   Prompts  for  a  keyboard  character or special
  4997.                   function set symbol (see ALT-F command).  Solid
  4998.                   spaces  can  be  used  by pressing Shift-Space.
  4999.                   The block is then  searched and  all characters
  5000.                   matching the  pattern are replaced with the new
  5001.                   selection.  Color  attributes  at  any position
  5002.                   are not changed, just character values.
  5003.  
  5004.         Both       -  Combines  both   the  Attribute  and  Character
  5005.                   operations  described  above.    A  replacement
  5006.                   character is  prompted for,  then everything on
  5007.                   the screen matching the pattern (both character
  5008.                   and fore/back  attributes) is replaced with the
  5009.                   character and current colors.
  5010.  
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.        TheDraw v4.51         TheDraw Command Functions          74
  5017.  
  5018.  
  5019.  
  5020.        The following  commands are  available only  in normal (non-animation)
  5021.        screen edit mode:
  5022.  
  5023.        LOAD - Load a Block
  5024.  
  5025.       Imports a block of data from another screen saved on disk.  You are
  5026.       first prompted for the  import filespec  (see ALT-L  for details on
  5027.       loading files).
  5028.  
  5029.       The import  image is  then loaded  onto the screen, and an inverted
  5030.       area of the defined block size  appears.   Move this  inverted area
  5031.       using arrow  keys, PgUp,  PgDn, Home  or End to the wanted portion.
  5032.       Press [ENTER] to save a copy of the  inverted area  in the original
  5033.       edit screen.  The rest of the import image is discarded.
  5034.  
  5035.  
  5036.        SAVE - Save a Block
  5037.  
  5038.       Operates almost  identically to the normal save screen command (see
  5039.       ALT-S for information on  saving  edit  screens).    The difference
  5040.       being the save is restricted to the defined block.
  5041.  
  5042.  
  5043.        The following command is available only in animation edit mode:
  5044.  
  5045.        RESCAN - Rescan a Block
  5046.  
  5047.       Operates just  like the  ALT-J animator  rescan option, except only
  5048.       the marked block is rescanned.   The  marked  block  area  is first
  5049.       erased from the animation sequence, then the block is rescanned and
  5050.       added onto the end of sequence.
  5051.  
  5052.  
  5053.  
  5054.  
  5055.                 ALT-C: CLEAR CURRENT SCREEN
  5056.  
  5057.        The operation of this command should be apparent.  Once  selected, the
  5058.        following prompt appears:
  5059.  
  5060.       Do you want to CLEAR this Page or All Page Layers? (Yes/No/All)
  5061.  
  5062.        Selecting [Y]es  or pressing [ENTER] will clear the current page layer
  5063.        and nothing else.   Selecting [N]o  or pressing  [ESC] will  abort the
  5064.        command.    Selecting  [A]ll  will  clear  ALL  page  layers.  You are
  5065.        prompted to verify this request before continuing.  Useful if you want
  5066.        a completely clean slate.
  5067.  
  5068.        The clearing  of a  given page  layer is  done by using spaces and the
  5069.        default background  color  (see  ALT-D).    The  clear  screen  can be
  5070.        reversed using the Restore/Undo command (see ALT-R).
  5071.  
  5072.  
  5073.  
  5074.        TheDraw v4.51         TheDraw Command Functions          75
  5075.  
  5076.  
  5077.  
  5078.  
  5079.             ALT-D: SET DEFAULT BACKGROUND COLOR
  5080.  
  5081.        The default  background color  is used  whenever TheDraw  must erase a
  5082.        portion of the screen.  Examples of commands where this is used are:
  5083.  
  5084.       o  Clear Current Screen.
  5085.       o  Block Delete, Erase, and Move.
  5086.       o  Text Operations which move words.
  5087.       o  Use of the Backspace or Delete keys to remove characters.
  5088.       o  Inserting or Deleting of lines or columns.
  5089.  
  5090.        All these commands "clear"  an  area  of  the  screen  in  one  way or
  5091.        another.   TheDraw does  this using  spaces and the default background
  5092.        color specified.
  5093.  
  5094.        When you select ALT-D, the screen  changes to  a display  of available
  5095.        colors and the current default background color.  In the lower portion
  5096.        of the screen is the prompt:
  5097.  
  5098.                Please Select Background Color (0-7):
  5099.  
  5100.        The cursor will be flashing after  this  prompt.    Select  the wanted
  5101.        default background  color via  the Up/Down  arrow keys  or by directly
  5102.        entering the number associated with a  color (see  ALT-A for available
  5103.        colors).   Mouse users  simply position  the mouse on the wanted color
  5104.        and press a button.
  5105.  
  5106.        Press [ENTER] or [ESC] to return to the edit screen.
  5107.  
  5108.  
  5109.  
  5110.  
  5111.               ALT-E: CHANGE PAGE LAYER/TOGGLE SPRITES
  5112.  
  5113.        The change page layer command allows  you to  select a  different page
  5114.        layer for  editing.   Up to  eight simultaneous  layers can be used at
  5115.        once, in either normal or animation  modes.   With this  facility, you
  5116.        can load several images, copy/exchange parts and do much more.
  5117.  
  5118.        After pressing ALT-E, the following prompt appears:
  5119.  
  5120.          Display Page Layer (1-8), Toggle Single/Layers, or [ESC]?
  5121.  
  5122.        The number  of available  layers (8  here) will  vary depending on how
  5123.        TheDraw has been configured.  To select a different page layer, simply
  5124.        press the  number.   The second  option, [T]oggle Single/Layers, is to
  5125.        toggle the  sprite  editing  facility  of  TheDraw.    Sprite  mode is
  5126.        indicated by  the word  "Page" or  "Anim" appearing in capital letters
  5127.        on the status line (ie: PAGE).
  5128.  
  5129.  
  5130.  
  5131.  
  5132.        TheDraw v4.51         TheDraw Command Functions          76
  5133.  
  5134.  
  5135.  
  5136.  
  5137.        Sprite editing allows you to see  everything "underneath"  the current
  5138.        page layer.   Imagine  several sheets  of glass, stacked on top of one
  5139.        another.  If you look  down  from  the  top-most  sheet,  you  can see
  5140.        anything placed on a piece of glass lower down.
  5141.  
  5142.        The sprite  editing mode  of TheDraw  is akin  to the  layers of glass
  5143.        described above.  In  this case,  layer one  is the  top-most sheet of
  5144.        glass.  Page layer eight (8) is the bottom-most sheet of glass.  ie:
  5145.  
  5146.                        ┌────────┐
  5147.                       .│      . │
  5148.                     .  │    .   │ Bottom-Most Layer
  5149.                  ┌────────┐    8│
  5150.                    ┌─┴──────┐ │─────┘
  5151.                  ┌─┴──────┐ │ │   .
  5152.                  │        │ │3│ .
  5153.           Top-Most Layer │        │2├─┘
  5154.                  │       1├─┘
  5155.                  └────────┘
  5156.  
  5157.        Naturally,  an  object  or  character  closer  to  the  top will cover
  5158.        anything under it.  In TheDraw, anything other than a  non-solid black
  5159.        space will  conceal the contents of a lower layer (see SHIFT-SPACE for
  5160.        information on solid spaces).
  5161.  
  5162.        Another useful feature about sprite editing  is only  the current page
  5163.        layer may  be changed.  Nothing you do will alter a layer below (short
  5164.        of clearing all layers), even though  you can  see its  contents.  The
  5165.        current layer  can be  globally moved, have lines inserted or deleted,
  5166.        etc...  Anything  lower  down  is  protected  unless  you specifically
  5167.        change to that page layer for editing.
  5168.  
  5169.        The question than now comes to mind is:  What can be done with it?
  5170.        Imagine  you  have  a  screen  made  of  several distinct parts, say a
  5171.        backdrop with figures on it.  Now a figure must be moved  to make room
  5172.        for something  else.   Unless "block"  shaped, the  block move command
  5173.        (ALT-B) is tedious to use.  For something  tree shaped,  an easier way
  5174.        is desired.
  5175.  
  5176.        Using sprite  editing each  figure could  have its own layer, with the
  5177.        backdrop placed on the  bottom-most  page.    To  move  a  figure, you
  5178.        merely  switch  to  its  layer  and use the global screen move command
  5179.        (ALT-G,M).  Nothing could be simpler.    To  see  the  result  of your
  5180.        change, switch back to the top-most layer.
  5181.  
  5182.        Menu making  is made easier with sprites also.  Put together the basic
  5183.        outline (lines, boxes, etc...) on one page layer,  then switch  to one
  5184.        higher up  for the text.  If you do not like the initial text, erasing
  5185.        it will not harm the outline.   There  are endless  more possibilities
  5186.        waiting to be discovered.
  5187.  
  5188.  
  5189.  
  5190.        TheDraw v4.51         TheDraw Command Functions          77
  5191.  
  5192.  
  5193.  
  5194.                ALT-F: VIEW FUNCTION KEY SETS
  5195.  
  5196.        This command presents a display of the 150 special extended characters
  5197.        supported by TheDraw.  These characters are stored in fifteen separate
  5198.        "function  key  sets".    The  current set is displayed on the TheDraw
  5199.        status line.
  5200.  
  5201.        Selecting function key sets within  this  display  is  done  using the
  5202.        Up/Down arrow  keys or  using the  mouse.   Press [ENTER] or click the
  5203.        mouse button when satisfied.
  5204.  
  5205.        The  actual  characters  are  accessed  using  the  function  keys  by
  5206.        themselves.   If function  key set 7 was selected, pressing [F2] would
  5207.        display the second character in that set (a smiley face).
  5208.  
  5209.        ----
  5210.  
  5211.        An alternate means for selecting function  key sets  is available from
  5212.        the normal  edit screen.   To use function key sets 1 to 10, press ALT
  5213.        followed by a function key 1 to 10.  To  use function  key sets  11 to
  5214.        15, press CTRL followed by a function key 1 to 5.  ie:
  5215.  
  5216.                ALT-F7 will select function key set 7
  5217.               CTRL-F4 will select function key set 14
  5218.  
  5219.        Note:    Appendix  C   contains  a  list  of  all  special  characters
  5220.         supported by the IBM-PC  extended  character  set  in numeric
  5221.         order.    To  access  these  characters  -without-  using the
  5222.         function key sets, press and hold  down  the  ALT  key.   Now
  5223.         using the numeric keypad on the side of the keyboard, type in
  5224.         the number associated with the wanted character.   Once done,
  5225.         release the  ALT key.   The  character will then appear.  ie:
  5226.         press and hold ALT.  Now type 65  on the  numeric keypad, and
  5227.         release ALT.  The letter "A" will appear.
  5228.  
  5229.  
  5230.  
  5231.                   ALT-G: GLOBAL COMMANDS
  5232.  
  5233.        The global  commands offer  many facilities for doing "global" changes
  5234.        to the entire screen.  All of these commands could  be duplicated with
  5235.        block  operations;   they  exist   for  convenience.    The  following
  5236.        selections are available:
  5237.  
  5238.       o  Copy the current screen to another page layer.
  5239.       o  Move/Rotate the current screen around its borders.
  5240.       o  Globally fill the screen with colors and/or characters.
  5241.       o  Perform text operations globally on the screen.
  5242.       o  Globally replace a character or color with something else.
  5243.  
  5244.        After pressing ALT-G the available  commands  are  listed.    The menu
  5245.        items are described on the following pages.
  5246.  
  5247.  
  5248.        TheDraw v4.51         TheDraw Command Functions          78
  5249.  
  5250.  
  5251.  
  5252.  
  5253.        COPY - Copy Screen
  5254.  
  5255.       The command  first prompts  for the  destination page.  The current
  5256.       screen is then copied to the specified page layer.
  5257.  
  5258.       In animation  mode,  this  deletes  everything  on  the destination
  5259.       layer.  The current screen is then copied item by item to it.
  5260.  
  5261.  
  5262.        MOVE - Move/Rotate Screen
  5263.  
  5264.       Moves the entire screen around its borders.  Use the arrows keys to
  5265.       rotate the screen.  Press [ENTER] when satisfied or [ESC]  to leave
  5266.       the screen as it was.   ie: moving the screen upwards will "rotate"
  5267.       the line at the top of the screen down to the bottom of the screen.
  5268.  
  5269.  
  5270.        FILL - Fill Screen
  5271.  
  5272.       Fills the entire screen based  on  a  specified  sub-command.   The
  5273.       available  options  are  listed  below  (these are identical to the
  5274.       block fill commands):
  5275.  
  5276.         Attribute - Changes  both  foreground  and  background  color
  5277.                 attributes  to  current  values  shown  in status
  5278.                 line.
  5279.  
  5280.         Fore      - Changes just  the foreground  color attributes to
  5281.                 current values shown in status line.
  5282.  
  5283.         bacK      - Changes just  the background  color attributes to
  5284.                 current values shown in status line.
  5285.  
  5286.         Use       - Changes  both  foreground  and  background  color
  5287.                 attributes  to  those  under  the CURSOR when you
  5288.                 first pressed ALT-G.  This is the position on the
  5289.                 screen  the   cursor  was   sitting  when  global
  5290.                 commands were selected.
  5291.  
  5292.         Character - Prompts  for  a  keyboard  character  or  special
  5293.                 function set  symbol (see  ALT-F command).  Solid
  5294.                 spaces can be used by pressing  Shift-Space.  The
  5295.                 screen  is  then  overwritten  using whatever was
  5296.                 selected.   The  color  attributes  at  any given
  5297.                 position are  not changed,  just the character at
  5298.                 that position.
  5299.  
  5300.  
  5301.  
  5302.  
  5303.  
  5304.  
  5305.  
  5306.        TheDraw v4.51         TheDraw Command Functions          79
  5307.  
  5308.  
  5309.  
  5310.  
  5311.         Both      - Combines both the  Attribute  and  Character fill
  5312.                 operations  described  above.    A  character  is
  5313.                 prompted for, then everything  on  the  screen is
  5314.                 overwritten using that character with the current
  5315.                 color attributes from the status line.
  5316.  
  5317.  
  5318.       In animation mode, the Attribute, Fore, bacK, and  Use options only
  5319.       alter characters  already in  the animation sequence (no additional
  5320.       characters are added).  The Character or Both  options however WILL
  5321.       add additional characters to the animation sequence.
  5322.  
  5323.  
  5324.        TEXT - Global Text Operations
  5325.  
  5326.       Performs  various  text  operations  on the screen.  Available sub-
  5327.       commands are:
  5328.  
  5329.         Box     - Draws a box using  the current  function set.   The
  5330.               box border  will be the defined by the edges of the
  5331.               screen.  The inside of the  box is  left unchanged,
  5332.               however anything  where the  box lines are actually
  5333.               drawn will be overwritten.
  5334.  
  5335.         Outline - Operates similar to the  Box  command,  however the
  5336.               contents of  the block are examined first.  The box
  5337.               border will be  adjusted  to  just  accommodate all
  5338.               words contained by the screen.
  5339.  
  5340.               For instance,  assume you just had one character in
  5341.               the center of the edit screen.  The result of using
  5342.               global  text  outline  would  only  be  a small box
  5343.               around the character.
  5344.  
  5345.         Center  - Text in the screen  is centered.   The  way this is
  5346.               done  is  similar  to  the  text  Outline described
  5347.               above.    Each  line  of  characters  considered is
  5348.               reduced to  just enclose  all words.  The string of
  5349.               words is then centered in the screen.
  5350.  
  5351.         Left    - Text is moved to the left edge of the screen.
  5352.  
  5353.         Right   - Identical to Left except text is moved to the right
  5354.               edge of the screen.
  5355.  
  5356.  
  5357.  
  5358.  
  5359.  
  5360.  
  5361.  
  5362.  
  5363.  
  5364.        TheDraw v4.51         TheDraw Command Functions          80
  5365.  
  5366.  
  5367.  
  5368.  
  5369.        REPLACE - Global Character/Color Replace
  5370.  
  5371.       Performs  character  and/or  color  attribute replacement on entire
  5372.       screen based on specified sub-command.  The pattern is whatever was
  5373.       under the  cursor when  ALT-G was  selected.  The available options
  5374.       are shown below (these are similar to the Fill options):
  5375.  
  5376.         Attribute -   Searches both foreground  and  background color
  5377.                   attributes,  then  replaces  all  matches  with
  5378.                   current values shown on status line.
  5379.  
  5380.         Fore       -  Searches and replaces just the foreground color
  5381.                   attributes with current value.
  5382.  
  5383.         bacK       -  Searches and replaces just the background color
  5384.                   attributes with current value.
  5385.  
  5386.         Character -   Prompts for  a  keyboard  character  or special
  5387.                   function set symbol (see ALT-F command).  Solid
  5388.                   spaces can  be  used  by  pressing Shift-Space.
  5389.                   The screen  is then searched and all characters
  5390.                   matching the pattern are replaced with  the new
  5391.                   selection.    Color  attributes at any position
  5392.                   are not changed, just character values.
  5393.  
  5394.         Both       -  Combines  both  the  Attribute   and  Character
  5395.                   operations  described  above.    A  replacement
  5396.                   character is  prompted for,  then everything on
  5397.                   the screen matching the pattern (both character
  5398.                   and fore/back attributes) is  replaced with the
  5399.                   character and current colors.
  5400.  
  5401.       These commands operate similar to the block action text commands.
  5402.  
  5403.  
  5404.  
  5405.  
  5406.               ALT-H: DISPLAY HELP INFORMATION
  5407.  
  5408.        The help  screens provide  a quick  reminder for  the various commands
  5409.        supported  by  TheDraw.    The  three  screens  briefly  describe most
  5410.        available functions.
  5411.  
  5412.        The registered  version of  TheDraw supports  context sensitive pop-up
  5413.        help for the ENTIRE  program.    Typing  ALT-H  at  any  position will
  5414.        display specific help on what you are doing.  Try it, you'll like it!
  5415.  
  5416.  
  5417.  
  5418.  
  5419.  
  5420.  
  5421.  
  5422.        TheDraw v4.51         TheDraw Command Functions          81
  5423.  
  5424.  
  5425.  
  5426.                    ALT-I: INSERT A LINE
  5427.  
  5428.        Inserts a  blank horizontal line at the current position.  The current
  5429.        line and all those  below it  are shifted  down.   The bottom  line is
  5430.        lost.   The blank line is filled with spaces colored using the default
  5431.        background color.  This command can be reversed using the Restore/Undo
  5432.        command (ALT-R).
  5433.  
  5434.  
  5435.  
  5436.                   ALT-J: ANIMATOR OPTIONS
  5437.  
  5438.        The Animator  Options command  operates differently depending on which
  5439.        mode you are currently in (normal or animator).
  5440.  
  5441.  
  5442.        ALT-J FROM NORMAL/STATIC MODE
  5443.        ──────────────────────────────────────────────────────────────────────
  5444.        When in normal mode, selecting ALT-J  will put  TheDraw into animation
  5445.        mode.  To convert the existing normal screen images (static images) to
  5446.        animation entries, a scan "method" or pattern must be specified.   The
  5447.        particular pattern  used tells  TheDraw how to read your static images
  5448.        for display.   Scan  patterns  can  be  altered  using  two adjustment
  5449.        toggles.  These are:
  5450.  
  5451.  
  5452.       REVERSE   Reverse  entire  scan  pattern.    Last character scanned
  5453.             becomes the first displayed in the animation sequence.
  5454.  
  5455.       FLIP      Vertically exchanges scanning of  the screen  scan top to
  5456.             bottom.   For example  the TOP  scanner below scan across
  5457.             the screen (left to right) starting  on the  bottom line,
  5458.             moving upwards.
  5459.  
  5460.  
  5461.        There  are   fourteen  different  generic  scan  methods/patterns  are
  5462.        available.  By combining these with the above adjust toggles,  over 50
  5463.        patterns are possible:
  5464.  
  5465.  
  5466.        TOP - Scan Top to Bottom
  5467.  
  5468.       The static  page layers are scanned from their upper-left to lower-
  5469.       right corners.  The scan goes  across the  screen (left  to right).
  5470.       The next line down is then scanned, and so on.
  5471.  
  5472.  
  5473.        LEFT - Scan Left to Right
  5474.  
  5475.       Similar  to  TOP,  except  the  scan  goes  down the screen (top to
  5476.       bottom).  The next column over is then scanned, and so on.
  5477.  
  5478.  
  5479.  
  5480.        TheDraw v4.51         TheDraw Command Functions          82
  5481.  
  5482.  
  5483.  
  5484.  
  5485.        CLOCK - Clock Arm Scan
  5486.  
  5487.       Scans in clockwise direction from center  of screen  to border edge
  5488.       around screen.  Appears somewhat like a growing pie-slice.
  5489.  
  5490.  
  5491.        CIRCLES - Circular Ring Scan
  5492.  
  5493.       Scans image  in ever growing circles from center of screen outward.
  5494.       ie:  small circle, then slightly  larger encompassing  circle, then
  5495.       slightly larger again, etc...
  5496.  
  5497.  
  5498.        CHECKERBOARD - Checkerboard Effect Scan
  5499.  
  5500.       Scans  alternating  squares  on  first pass creating a checkerboard
  5501.       appearance, then fills in all the gaps on the second pass.
  5502.  
  5503.  
  5504.        ANGLE - Angle Scan
  5505.  
  5506.       Scans  each  static  page  layer  from  upper-left  to  lower-right
  5507.       corners, using  a backward angle approach.  ie: scan character then
  5508.       move down to next line and backup one position.
  5509.  
  5510.                    AAAAAAAAAA
  5511.                    BBBBBBBBB
  5512.                    CCCCCCCC
  5513.                    DDDDDDD
  5514.                    etc...
  5515.  
  5516.        GATE - Gated Scan
  5517.  
  5518.       Alternating lines scan from opposite sides  of the  screen forwards
  5519.       and backwards  going across.     The first  line will  scan left to
  5520.       right going across the screen.  The second line scans right to left
  5521.       across the  screen.  The third line scans as the first, etc...  All
  5522.       lines are processed at once, so the screen appears "gated".
  5523.  
  5524.  
  5525.        PYRAMID - Pyramid Scan
  5526.  
  5527.       Scans in a "pyramid" shape, starting from bottom center of screen.
  5528.                     .
  5529.                        .D.
  5530.                       cDCD.
  5531.                      tDCBCD.
  5532.                     eDCBABCD.
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.        TheDraw v4.51         TheDraw Command Functions          83
  5539.  
  5540.  
  5541.  
  5542.  
  5543.        SQUARES - Squares or Spiral Scan
  5544.  
  5545.       Scans static screen images using squares.  The border of the screen
  5546.       is first  scanned (progressing clockwise).  The next smaller square
  5547.       is then scanned, and so.  Produces a spiral effect.
  5548.  
  5549.  
  5550.        SCRAMBLE - Random Scramble Scan
  5551.  
  5552.       Each static page layer is scanned in a completely random order.
  5553.  
  5554.  
  5555.        DOOR - Closing Door Scan
  5556.  
  5557.       Screen is scanned from top to  bottom, on  both sides  of screen at
  5558.       once.  Gives the impression of doors closing on the user.
  5559.  
  5560.  
  5561.        DIAMOND - Growing Diamond Scan
  5562.  
  5563.       Scans image using ever growing diamond shapes from center of screen
  5564.       outward.  Mildly similar to the circle scan in operation.
  5565.  
  5566.  
  5567.        WIGGLE - Wiggle Scan
  5568.  
  5569.       Similar to GATE, except only  one  line  is  processed  at  a time.
  5570.       Produces a  snaking line  appearance starting  from the  top of the
  5571.       screen.  Scan first goes across screen, then returns on  next.  The
  5572.       cycle is then repeated.
  5573.  
  5574.  
  5575.        WIGGLEOUT - Wiggle Out Scan
  5576.  
  5577.       Starts in  center of screen with wiggle operation going both up and
  5578.       down at once.
  5579.  
  5580.  
  5581.        Once the animation  scan  is  completed,  the  screen  is  cleared and
  5582.        redrawn.    At  this  point  TheDraw will operate normally, except all
  5583.        entries are sequenced by the animation  system.   Please refer  to the
  5584.        section "The Animation System" for more details on its use.
  5585.  
  5586.        If you have ideas for more animation scanners, please send them!
  5587.  
  5588.  
  5589.  
  5590.  
  5591.  
  5592.  
  5593.  
  5594.  
  5595.  
  5596.        TheDraw v4.51         TheDraw Command Functions          84
  5597.  
  5598.  
  5599.  
  5600.  
  5601.        ALT-J FROM ANIMATOR MODE
  5602.        ──────────────────────────────────────────────────────────────────────
  5603.        Once in animator mode, selecting ALT-J presents several facilities for
  5604.        managing the animation system.  The following commands are available:
  5605.  
  5606.       o  Specify Animation Include Files
  5607.       o  Specify User Control Sequences
  5608.       o  Toggle storing of cursor movements
  5609.       o  Convert animation screens to normal mode static screen images
  5610.       o  Rescan current animation screen
  5611.       o  Enter a pause into the animation sequence
  5612.  
  5613.        The registered version of TheDraw also supports:
  5614.  
  5615.       o  Animation Position Editing (Sequence Limiting)
  5616.       o  Specify Animation Markers
  5617.  
  5618.  
  5619.        INCLUDE - Specify Animation Include File
  5620.  
  5621.       When creating an ANSI  file, TheDraw  allows you  to "include" text
  5622.       from other files in the new one being created.  Ten different files
  5623.       can be included at various  points  in  the  sequence.    These are
  5624.       useful for  the so  called "Ansi  Music" sequences, frequently used
  5625.       images, complex BBS control code  sequences  (for  systems  such as
  5626.       WildCat), etc...    The animation USER-SEQ function following might
  5627.       be more suitable for the latter task however.
  5628.  
  5629.       When TheDraw includes another  file, its  contents are  copied into
  5630.       the new  output file  TheDraw is making.  Once the output Ansi file
  5631.       is created, the include file is not needed again.  The include file
  5632.       need only be present when TheDraw is actually copying text from it.
  5633.  
  5634.       Include files are only accessed  when  TheDraw  is  saving  a file.
  5635.       They are  ignored by  ALT-Q.   If you  wish to  see what everything
  5636.       looks like before saving, use the View option described below.
  5637.  
  5638.       Upon choosing the INCLUDE  option,  a  window  will  appear  on the
  5639.       screen.   All currently defined include files will be listed, along
  5640.       with their positions in the animation sequence.  The following sub-
  5641.       commands are available:
  5642.  
  5643.          SET   - Sets an  include file at the current animation position.
  5644.              In the shareware version of TheDraw, this will always be
  5645.              the end of the current animation sequence.
  5646.  
  5647.              In the registered version, this is the current animation
  5648.              limit position.  This allows include files to  be easily
  5649.              specified  "after  the  fact", anywhere in the animation
  5650.              sequence (see Limit below).
  5651.  
  5652.  
  5653.  
  5654.        TheDraw v4.51         TheDraw Command Functions          85
  5655.  
  5656.  
  5657.  
  5658.  
  5659.          CLEAR - Erases the include file entry you specify.  No verify is
  5660.              done before the entry is deleted, so be warned.
  5661.  
  5662.          VIEW  - Displays  the   entire  animation   sequence,  with  all
  5663.              specified include  files.   Very useful  for testing the
  5664.              appearance of things.
  5665.  
  5666.  
  5667.       Press [ESC]  once when done editing the include files.  All changes
  5668.       are saved.
  5669.  
  5670.  
  5671.       ANSI MUSIC WITH INCLUDE FILES:
  5672.  
  5673.       Animation include files  are  especially  useful  for  including so
  5674.       called "Ansi  Music" sequences into a TheDraw image.  Ansi Music is
  5675.       not part of the standard Ansi driver.  It is an extension  found in
  5676.       certain modem communication programs (such as Qmodem).  Please note
  5677.       that TheDraw cannot generate Ansi Music source sequences.  The code
  5678.       format of Ansi Music is as follows:
  5679.  
  5680.                <esc>[MF<music control codes><ctrl-N>
  5681.              │                     │
  5682.                ascii 27             ascii 14
  5683.  
  5684.       The section  <music control codes> is a string of music descriptors
  5685.       identical to  those used  in the  Basic PLAY  command.   Refer to a
  5686.       Basic language reference manual for further information.
  5687.  
  5688.  
  5689.  
  5690.        USER_SEQ - Specify Animation User Control Sequence
  5691.  
  5692.       Allows you to insert your own short control code sequences directly
  5693.       into the Ansi file output TheDraw generates.   Extremely useful for
  5694.       BBS  control  codes  (ie:  for  user  names and such), or inserting
  5695.       special extra Ansi  codes  into  the  animation  (ie:  clearing the
  5696.       display midstream,  or causing an image to scroll).  User Sequences
  5697.       are only referred to when TheDraw  saves a  file, and  are not used
  5698.       when redrawing (see ALT-Q).
  5699.  
  5700.       Upon  choosing  the  USER_SEQ  option,  a window will appear on the
  5701.       screen.  All  currently  defined  user  control  sequences  will be
  5702.       listed, along with their positions in the animation sequence.
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.        TheDraw v4.51         TheDraw Command Functions          86
  5713.  
  5714.  
  5715.  
  5716.  
  5717.       The following sub-commands are available:
  5718.  
  5719.          SET   - Sets a  user sequence at the current animation position.
  5720.              In the shareware version of TheDraw, this will always be
  5721.              the  end  of  the  current  animation  sequence.  In the
  5722.              registered version, this is the current  animation limit
  5723.              position.    This  allows  control  codes  to  be easily
  5724.              specified after a screen has been  made, anywhere during
  5725.              the display of the animation sequence (see Limit below).
  5726.  
  5727.              You are  prompted for the user sequence to modify.  Next
  5728.              the sequence must be typed in.  For Ansi escape sequence
  5729.              press the  escape key  (appears as "^["), an open square
  5730.              bracket, followed by the necessary command codes.  ie:
  5731.  
  5732.                   <esc>[2J    (will clear the screen)
  5733.  
  5734.          CLEAR - Removes the user sequence entry you specify.   No verify
  5735.              is done before the entry is deleted, so be warned.
  5736.  
  5737.          VIEW  - Displays  the  animation  sequence,  up  to the position
  5738.              where the  specified  user  sequence  is  to  be output.
  5739.              Useful for jogging your memory.
  5740.  
  5741.  
  5742.  
  5743.        LIMIT - Specify Animation Limit (registered version only)
  5744.  
  5745.       The  animation  limit  facility  of TheDraw provides for a powerful
  5746.       animation editing system.  You can easily correct mistakes, insert,
  5747.       delete or do anything else in the MIDDLE of any animation sequence.
  5748.  
  5749.       To  use  limiting,  you  tell  TheDraw where to stop displaying the
  5750.       animation sequence.  For  example, assume  you had  a sequence with
  5751.       5000  entries.    You  could  limit  it to 2000, correct a spelling
  5752.       mistake, then quickly reset the limit back to 5000.   With limiting
  5753.       turned on  TheDraw operates  as always, except everything above the
  5754.       animation limit is temporarily held out of the way.
  5755.  
  5756.       Upon choosing the LIMIT option, you can specify the animation limit
  5757.       position by means of the following keys:
  5758.  
  5759.          Up/Down Arrows   Advance/Backup limit by one position.
  5760.          PgUp/PgDn        Advance/Backup limit by 100 positions.
  5761.          Home             Go to start of sequence (position = 0).
  5762.          End          Go to end of sequence (all entries).
  5763.  
  5764.  
  5765.  
  5766.  
  5767.  
  5768.  
  5769.  
  5770.        TheDraw v4.51         TheDraw Command Functions          87
  5771.  
  5772.  
  5773.  
  5774.  
  5775.          marKer           Move to the position of an animation marker.
  5776.                   Selecting this command displays a window of all
  5777.                   currently  set   animation   markers.     After
  5778.                   choosing a marker, the animation limit moves to
  5779.                   the position of the marker.   Assuming you have
  5780.                   set  markers  in  strategic places, this allows
  5781.                   you  to  quickly  bounce  around  an  animation
  5782.                   sequence looking for a particular spot.
  5783.  
  5784.       Press  [ENTER]  to  save  the  new animation limit.  Pressing [ESC]
  5785.       leaves the original animation limit position unchanged.
  5786.  
  5787.  
  5788.  
  5789.        MARKER - Specify Animation Markers (registered version only)
  5790.  
  5791.       Markers are  used  to  "mark"  different  places  in  the animation
  5792.       sequence for  later reference.   Once  set, markers can be used for
  5793.       changing the animation limit position (see above) and  viewing just
  5794.       portions  of  the  animation  sequence.      They  can be useful in
  5795.       locating things forgotten or set aside until later,  editing images
  5796.       a page at a time, etc...
  5797.  
  5798.       Upon  choosing  the  MARKER  option,  a  window  will appear on the
  5799.       screen.  All currently defined markers are listed, along with their
  5800.       position  in  the  animation  sequence.  The following sub-commands
  5801.       are available:
  5802.  
  5803.          SET   - Sets a marker at the current animation limit position.
  5804.              This allows markers to  be easily  specified anywhere in
  5805.              the animation  sequence.   You are first be prompted for
  5806.              which marker to change.  If  the marker  is already set,
  5807.              it will  be erased before continuing.  After you specify
  5808.              a marker, you can then enter a comment (32 characters).
  5809.  
  5810.          CLEAR - Erases the marker you specify.  No verify is done before
  5811.              the entry is deleted, so be warned.
  5812.  
  5813.          VIEW  - Displays  the  animation  sequence,  up  to  a specified
  5814.              marker.  Useful for  reminding yourself  of what happens
  5815.              early in a 16000 entry animation sequence.
  5816.  
  5817.       Press [ESC] once done editing markers.  All changes are saved.
  5818.  
  5819.  
  5820.  
  5821.  
  5822.  
  5823.  
  5824.  
  5825.  
  5826.  
  5827.  
  5828.        TheDraw v4.51         TheDraw Command Functions          88
  5829.  
  5830.  
  5831.  
  5832.  
  5833.        MOVEMENT - Toggle Storage of Cursor Movements
  5834.  
  5835.       Toggles  whether  or  not  TheDraw  stores  actual movements of the
  5836.       cursor.  Normally only typed characters  are recorded;  however, if
  5837.       the cursor  movement toggle  is on  all movements of the cursor are
  5838.       also stored.  Cursor movements are  being stored  whenever the ANIM
  5839.       symbol in  the status line is flashing.  If you are still in doubt,
  5840.       watch the animation entry count.  It will  increase every  time you
  5841.       move the cursor.
  5842.  
  5843.  
  5844.        NORMAL - Convert to Normal Edit Mode.
  5845.  
  5846.       Converts what  appears on  the screen  to normal  mode images.  All
  5847.       animation is erased after  executing this  command.   You are first
  5848.       prompted to verify this before continuing.
  5849.  
  5850.       In  the  registered  version,  anything  not  displayed  because of
  5851.       animation limiting is lost.    Only  what  appears  exactly  on the
  5852.       screen when  you select  this command  is converted  to normal mode
  5853.       images.
  5854.  
  5855.  
  5856.        RESCAN - Rescan the Screens
  5857.  
  5858.       Selecting this command prompts  for  an  animation  scan  method as
  5859.       described above  in the ALT-J FROM NORMAL MODE section.  Everything
  5860.       in the animation sequence is first erased, then  the images  on the
  5861.       screens are rescanned.
  5862.  
  5863.       In  the  registered  version,  any animation sequence not displayed
  5864.       because of animation limiting  is  NOT  lost.    It  will  still be
  5865.       available  after  this  operation  is  done.  This differs from the
  5866.       above suboption and permits rebuilding something which did  not cut
  5867.       it the first time.
  5868.  
  5869.  
  5870.        PAUSE - Animation Pausing
  5871.  
  5872.       Allows  for  the  putting  of  pauses  into the animation sequence.
  5873.       TheDraw can wait for either a  key press  or a  specified number of
  5874.       seconds.   There is  no limit on pauses and they may occur anywhere
  5875.       in  the  animation  sequence.      This  can  be  very   useful  in
  5876.       presentations.
  5877.  
  5878.       After selecting PAUSE, the following sub-commands are available:
  5879.  
  5880.          TIME_PAUSE       Creates  a  pause  for  a  specified  number of
  5881.                   seconds (the pause can  be aborted  by pressing
  5882.                   any  key  when  actually  displayed).   You are
  5883.                   prompted for the number of seconds to delay.
  5884.  
  5885.  
  5886.        TheDraw v4.51         TheDraw Command Functions          89
  5887.  
  5888.  
  5889.  
  5890.  
  5891.          KEY_ONLY_PAUSE   Creates a pause for a key to be pressed.
  5892.  
  5893.          CLEAR            Erases  pauses  from  the  animation  sequence.
  5894.                   TheDraw  searches  backwards  from  the current
  5895.                   animation position for  a  Pause.    If  one is
  5896.                   found, you  can DELETE,  VIEW up to this pause,
  5897.                   or scan for the  NEXT  pause  before  this one.
  5898.                   Press [ESC] to abort clearing a pause.
  5899.  
  5900.       Pauses are observed whenever you redraw the animation sequence with
  5901.       ALT-Q.  When you save an ANSI file, it is  not possible  to produce
  5902.       the exact  pause equivalent (pauses for a key are impossible).  For
  5903.       this reason,  a  small  separate  presentation  program  (THEPP) is
  5904.       included  with   registered  copies   of  TheDraw.    This  program
  5905.       duplicates the operation of the  ALT-Q  command,  and  uses THEDRAW
  5906.       format data files.  See section entitled "The Presentation Program"
  5907.       for information on using THEPP.
  5908.  
  5909.  
  5910.  
  5911.                    ALT-K: DELETE A FILE
  5912.  
  5913.        Deletes a specified file from disk.  Use this option  to free  up disk
  5914.        space when  the need  arises.   The directory file selector (see ALT-L
  5915.        below) displays everything in  the current  directory.   Use the arrow
  5916.        keys to select a file to delete, or simply type in the filename at the
  5917.        bottom of the screen.  Press [ENTER] to select the file.
  5918.  
  5919.        TheDraw will then check for the file.  If it exists, you  are prompted
  5920.        to  verify  before  continuing.    This is your last chance before you
  5921.        delete something you might regret later.
  5922.  
  5923.  
  5924.  
  5925.                ALT-L: LOAD SCREEN FROM DISK
  5926.  
  5927.        This command allows you to load any ANSI  text, ANSI  Animation, ASCII
  5928.        text,  BINARY  dump,  Basic  BSAVE,  TheDraw  Object,  TheDraw COM, or
  5929.        TheDraw (.TD) format file.
  5930.  
  5931.        You are prompted to continue if the current screen image  has not been
  5932.        saved.   The directory  file selector  next displays  all files in the
  5933.        current directory for convenience.  The selector cursor may be used to
  5934.        choose  a  file,  or  a  filename  can be typed in directly.  Move the
  5935.        selector cursor via the  arrow and  PgUp/PgDn keys.   To  see the pick
  5936.        list of  last 10  files accessed, press the TAB key.  Press [ENTER] to
  5937.        load the file.
  5938.  
  5939.  
  5940.  
  5941.  
  5942.  
  5943.  
  5944.        TheDraw v4.51         TheDraw Command Functions          90
  5945.  
  5946.  
  5947.  
  5948.  
  5949.        If there are many files in the directory,  a wildcard  filename can be
  5950.        used  to  display  a  partial  listing of those available.   Wildcards
  5951.        operate as found  in  Dos.    Please  refer  to  your  Dos  manual for
  5952.        additional information.  Wildcards are normally temporary, and are not
  5953.        maintained between directory invocations.  They  can be  made "sticky"
  5954.        however by use of the Setup utility.
  5955.  
  5956.        If  you  type  in  the  filename,  a  file extension is assumed unless
  5957.        otherwise specified.  The  assumed value  is ".ANS"  unless changed in
  5958.        the setup  options.   The following  file types  require the specified
  5959.        extensions for TheDraw to be able to load them:
  5960.  
  5961.                    Binary Dump      .BIN
  5962.                    Basic BSAVE      .BSV
  5963.                    TheDraw COM File .COM
  5964.                    TheDraw OBJ File .OBJ
  5965.                    TheDraw Format   .TD
  5966.  
  5967.        (Note:  The above filename extensions can be changed in  Setup Options
  5968.        menu with TheDraw, or via the Setup Utility Defaults option).
  5969.  
  5970.        A  file  without  one  of  the  above  is  assumed to be an ANSI file.
  5971.        Assembler, Pascal, and C  format files  cannot be  reloaded, except as
  5972.        Ascii  text.    You  must  keep  another  copy of those screens safely
  5973.        somewhere in one of the above loadable formats.
  5974.  
  5975.        Binary, BSave,  COM, Object  (OBJ), and  TheDraw format  files are all
  5976.        reloadable and  may contain either a full screen or small block image.
  5977.        Where a block is displayed depends upon the  file format.   Binary and
  5978.        Object formats  load in the upper-left corner.  Formatting information
  5979.        is not stored with binary blocks however, so  TheDraw will  prompt for
  5980.        block width before loading.
  5981.  
  5982.        BSave and  COM formats load in the same locations they were originally
  5983.        saved from.  The TheDraw format is more flexible however,  placing you
  5984.        automatically into block copy/move mode to position the block.
  5985.  
  5986.        When loading Ansi or Ascii, only the first screen full is stored.  Any
  5987.        extra lines below the first screen are discarded.   Do  not be alarmed
  5988.        by Ansi  files which  might be  hundreds (or thousands) of lines long.
  5989.        So long as the cursor never  goes  below  the  bottom  of  the screen,
  5990.        everything will load properly.
  5991.  
  5992.        Ansi  animation   is  automatically  detected  by  TheDraw  using  the
  5993.        following advanced system:  If the cursor suddenly moves to a place it
  5994.        normally could never go, the file must be animated.
  5995.  
  5996.  
  5997.  
  5998.  
  5999.  
  6000.  
  6001.  
  6002.        TheDraw v4.51         TheDraw Command Functions          91
  6003.  
  6004.  
  6005.  
  6006.  
  6007.                   ALT-M: SELECT DRAW MODE
  6008.  
  6009.        TheDraw supports  the "drawing"  of lines.   This is easily done using
  6010.        the arrow keys while in Draw mode.   The characters used  in the lines
  6011.        are those  available via  the function  keys from the current function
  6012.        key set.  Only the first four sets of characters contain lines.   If a
  6013.        function  key  set  without  lines  is selected, the first set (single
  6014.        lines) is used.   Draw mode  is indicated  by the  word "Draw"  at the
  6015.        bottom of the screen.
  6016.  
  6017.        In draw  mode, everything  operates without  change.  Typed characters
  6018.        still appear.   The only change is that using  the arrow  keys makes a
  6019.        line appear in the direction moved.
  6020.  
  6021.  
  6022.  
  6023.  
  6024.                    ALT-N: RULER
  6025.  
  6026.        The Ruler  command places  a pair of intersecting lines on the screen.
  6027.        The point of intersection represents the position of  the cursor.   It
  6028.        is useful for lining up rows or columns of text or figures.
  6029.  
  6030.        The ruler  can be  moved using  all normal  cursor keys (ie: the arrow
  6031.        keys, Tab, PgUp, PgDn, Home, End, etc...).  Press [ENTER]  to save the
  6032.        new cursor  location, or  press [ESC]  to return to the initial cursor
  6033.        position.
  6034.  
  6035.        The ruler can held on the  screen during  normal editing  by selecting
  6036.        [S]ticky mode.   The  ruler will  appear under  the current layer.  To
  6037.        turn off the sticky ruler, simply select ALT-N again then press [ESC].
  6038.  
  6039.  
  6040.  
  6041.              ALT-O: CHANGE DRIVE/SUB DIRECTORY
  6042.  
  6043.        This command allows you to change  the Dos  default directory  or path
  6044.        (displayed when  loading or  viewing a  file).  All sub-directories of
  6045.        the current path are displayed  for  you.    A  new  directory  can be
  6046.        selected by  using the  arrows keys  or typing in the pathname.  Press
  6047.        [ENTER] to change to it.  Note that the details of sub-directories are
  6048.        not covered here.  Please refer to your dos manual for that.
  6049.  
  6050.        For example,  if you  were on  drive C in a sub-directory named GAMES,
  6051.        you could switch to the subdirectory  UTILITY of  drive D  by entering
  6052.        "D:\UTILITY".    You  could  then  get  back to the directory GAMES by
  6053.        simply entering "C:" (no backslash).
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.        TheDraw v4.51         TheDraw Command Functions          92
  6061.  
  6062.  
  6063.  
  6064.  
  6065.                 Alt-P:  PAINT/FILL COMMANDS
  6066.  
  6067.        This command allows enclosed areas to be easily filled with characters
  6068.        and/or  attributes.    An  enclosed  area is made by using lines (from
  6069.        function key sets 1-4) or using the Draw command (see ALT-M).   To use
  6070.        this command, position the cursor inside the area then press ALT-P.
  6071.  
  6072.        The following sub-commands are available:
  6073.  
  6074.      ATTRIBUTE   Changes all  foreground and  background color attributes
  6075.              within the enclosed area  to those  values shown  in the
  6076.              status line.
  6077.  
  6078.      FORE        Changes only  the foreground color attributes within the
  6079.              enclosed area to the current foreground value.
  6080.  
  6081.      BACK        Changes only the background color attributes  within the
  6082.              enclosed area to the current background value.
  6083.  
  6084.      CHARACTER   Prompts for a keyboard character or special function set
  6085.              symbol (see ALT-F command).  Solid spaces can be used by
  6086.              pressing Shift-Space.   All enclosed characters are then
  6087.              overwritten using  whatever  was  specified.    No color
  6088.              attributes are changed, just actual character symbols.
  6089.  
  6090.      BOTH        Combines   both   the   Attribute  and  Character  paint
  6091.              operations above.  A  character  is  prompted  for, then
  6092.              everything  in   the  area  is  overwritten  using  that
  6093.              character with the  current  color  attributes  from the
  6094.              status line.
  6095.  
  6096.        In animation  mode, the  Character and Both options add new entries to
  6097.        the animation sequence; nothing is  deleted.    The  Attribute command
  6098.        however only changes the color attributes of characters already in the
  6099.        animation sequence.  No new entries are added.
  6100.  
  6101.  
  6102.  
  6103.                    ALT-Q: REDRAW SCREEN
  6104.             (available in animation mode only)
  6105.  
  6106.        This command redraws the animation sequence on the screen.   With this
  6107.        you can  see how  your work  is developing.   You are prompted for the
  6108.        display speed to redraw at.  Available speeds are from  0 (fastest) to
  6109.        255 (crawl).   A  value of  about 40 is generally a good speed to view
  6110.        at.  Be warned that 255 literally is a crawl speed, displaying between
  6111.        two and  four characters  per second  (standard PC/XT).  A slow redraw
  6112.        can be broken out of by pressing any key.
  6113.  
  6114.  
  6115.  
  6116.  
  6117.  
  6118.        TheDraw v4.51         TheDraw Command Functions          93
  6119.  
  6120.  
  6121.  
  6122.                 ALT-R: RESTORE/UNDO CHANGES
  6123.  
  6124.        Restores from unwanted or  unintended screen  changes.   This function
  6125.        can  undo  block  or  global  changes,  clear or load screens, line or
  6126.        column insert or deletes, animation mode toggles, font entry, mistakes
  6127.        made to the current line, etc...
  6128.  
  6129.        In regards  to current  line changes, such modifications are permanent
  6130.        once you move to a new line.
  6131.  
  6132.  
  6133.  
  6134.                 ALT-S: SAVE SCREEN TO DISK
  6135.  
  6136.        The Save Screen command offers  many  formats  for  saving  the entire
  6137.        current  screen.      The  available  formats  are:  Ansi, Ascii, Asm,
  6138.        Binary, BSave, Com, C, Pascal, Object, and TheDraw.  Please  note that
  6139.        all color  attributes are  lost in  an Ascii  file.  All other formats
  6140.        store the complete screen with color (unless specified otherwise).
  6141.  
  6142.        The entire screen is saved when  using this  command.   If you  do not
  6143.        require the  full video,  use a  block save (see ALT-B).  These can be
  6144.        more effective at times.
  6145.  
  6146.        You are first prompted for which storage format to use.   In animation
  6147.        mode, only  ANSI and  THEDRAW formats are available.  The items on the
  6148.        menu are discussed below.
  6149.  
  6150.  
  6151.        ANSI - Ansi text file
  6152.  
  6153.       You are first asked what initial screen preparation you want before
  6154.       the image is displayed.  Options are:
  6155.  
  6156.         CLEAR - Clears the screen
  6157.         HOME  - Move cursor to upper-left corner of screen
  6158.         NONE  - Leave screen and cursor position as is.
  6159.  
  6160.       The next prompt is for the maximum length of each line in the saved
  6161.       file.   TheDraw is  capable of  producing over  1300 characters per
  6162.       screen line (if every character had a differing color combination).
  6163.       Some applications and  programs  (ie:  other  text  editors) cannot
  6164.       handle so  many characters per line.  This option limits the output
  6165.       line length sacrificing time to display the image.  If length is no
  6166.       problem, specify [N]one for the most efficient file.
  6167.  
  6168.       Lastly, you  are prompted for the Ansi display speed (a number from
  6169.       0 to 50).  The operation  is similar  to the  ALT-Q animator redraw
  6170.       screen function.   Things are slowed down by adding redundant codes
  6171.       after displayed characters.  A value  of 50  is approximately equal
  6172.       to an  ALT-Q speed  of 255  (extremely slow).  Experimentation will
  6173.       find the most appropriate speed for your needs.
  6174.  
  6175.  
  6176.        TheDraw v4.51         TheDraw Command Functions          94
  6177.  
  6178.  
  6179.  
  6180.        ASCII - Ascii Text (no colors)
  6181.  
  6182.       If you select ASCII,  you are  prompted if  you really  want a non-
  6183.       color image  made before  continuing.   The Ascii  file produced is
  6184.       similar to any file  produced by  a normal  text editor  (ie: Turbo
  6185.       Pascal or Sidekick editor).
  6186.  
  6187.       There is  one difference  in the  approach used by TheDraw however.
  6188.       Lines of Ascii that  are the  full 80  character screen  width, are
  6189.       normally NOT  terminated with  a carriage  return sequence (CR/LF).
  6190.       Such Ascii files viewed via the  Dos TYPE  command display properly
  6191.       but do  not load correctly into most other software.  Therefore, an
  6192.       option to force CR/LF was added  to the  Setup Options  menu within
  6193.       TheDraw, and  the Setup  Utility Defaults area.  Set this toggle if
  6194.       you are having difficulties.
  6195.  
  6196.  
  6197.        ASM - Assembly Language
  6198.  
  6199.       ASM produces a list of  DB  data  statements  for  use  by assembly
  6200.       language  programmers.    Additional  suboptions  are  available to
  6201.       specify the assembler data format.    You  can  specify  to Crunch,
  6202.       output only Ascii characters, or generate a normal file.  Crunching
  6203.       uses a custom technique for compressing  color changes  and strings
  6204.       of identical  characters to  make the  smallest possible  file.  To
  6205.       display  a  crunched  file  you  must  use  the  uncruncher routine
  6206.       included  separately  with  TheDraw  (UNCRUNCH.ASM).  This file has
  6207.       comments explaining its  use.    It  is  compatible  with Microsoft
  6208.       (MASM) and  Borland (TASM)  assemblers.   Simple formatting changes
  6209.       may be required for other vendors assemblers.
  6210.  
  6211.       The Ascii format saves all characters  on  the  screen.    No color
  6212.       attribute information  is stored  however.   The Normal format is a
  6213.       pure  binary  dump  of  the  screen,  converted  to   an  assembler
  6214.       compatible format.
  6215.  
  6216.       You are also prompted for a reference identifier to use.  This will
  6217.       be the  name used  to access  the data  within a  program.  TheDraw
  6218.       takes this  and generates  statements to simplify programming.  For
  6219.       instance, assume a standard full screen with the default IMAGEDATA:
  6220.  
  6221.         IMAGEDATA_WIDTH EQU 80
  6222.         IMAGEDATA_DEPTH EQU 25
  6223.         IMAGEDATA_LENGTH EQU 4000
  6224.         IMAGEDATA LABEL BYTE
  6225.              ... data for screen image follows here ...
  6226.  
  6227.       The width and depth statements reflect  the character  dimension of
  6228.       the image  saved.  Saving a block changes them appropriately.  This
  6229.       facilitates easier program development.  Instead of directly coding
  6230.       block sizes  refer to  the above identifiers.  Thus eliminating the
  6231.       need to remember arbitrary block sizes.
  6232.  
  6233.  
  6234.        TheDraw v4.51         TheDraw Command Functions          95
  6235.  
  6236.  
  6237.  
  6238.  
  6239.        BINARY - Binary Screen Dump
  6240.  
  6241.       Produces a straight data byte dump of the video screen.   This data
  6242.       format is  generic.   It is useful for many things, such as loading
  6243.       screen images directly to video ram,  etc...    This  will  be 4000
  6244.       bytes for a standard 80x25 screen, larger for EGA/VGA displays.
  6245.  
  6246.  
  6247.        BSAVE - Basic BSave Screen Dump
  6248.  
  6249.       This  file  is  identical  to  a binary screen dump, except loading
  6250.       codes for Basic are placed at the front.  These files can be loaded
  6251.       from basic with:
  6252.  
  6253.               DEF SEG = &HB800 : BLOAD"filespec.BSV"
  6254.  
  6255.       If you have a monochrome monitor, replace the B800 with B000 in the
  6256.       above line.  BSAVE files are always saved to the full screen width.
  6257.       Block saves are limited by this restriction also.
  6258.  
  6259.  
  6260.        COM - Dos Executable COM Files.
  6261.  
  6262.       Produces a truly separate program executable from Dos by typing the
  6263.       program name.  COM  files are  useful in  batch files  and the like
  6264.       for -fast-  displaying.  COM file screen blocks (via ALT-B) display
  6265.       only  the  block  without  changing  anything  else.     You  could
  6266.       conceivably generate a "layering" windows effect if you so desired.
  6267.       TheDraw  has  three  different  styles  of   COM  file,   and  will
  6268.       transparently select the most appropriate to minimize file size.
  6269.  
  6270.  
  6271.        PASCAL - Turbo Pascal Compatible Screen Dump
  6272.  
  6273.       This operates  the same  as the  ASM option described above, except
  6274.       the output is in a Turbo  Pascal compatible  CONST structure.   See
  6275.       Appendix B for the section entitled "Programmers Programming Tips".
  6276.       To use the Crunched file format, use the file UNCRUNCH.PAS.
  6277.  
  6278.  
  6279.        C - Modern C Formatted Compatible Screen Dump (Turbo C)
  6280.  
  6281.       Again, this operates the same as the ASM option.  The format is for
  6282.       the new "modern C" string continuation structure.  The data  may be
  6283.       uncrunched  using  routines  in  the  two  files  UNCRUN_N.OBJ  and
  6284.       UNCRUN_F.OBJ (for near and  far  code  models  respectfully).   The
  6285.       header file UNCRUNCH.H contains instructions on their proper usage.
  6286.  
  6287.       We are  aware only of TurboC able to handle this structure.  People
  6288.       using other compilers should use the Object file format below.
  6289.  
  6290.  
  6291.  
  6292.        TheDraw v4.51         TheDraw Command Functions          96
  6293.  
  6294.  
  6295.  
  6296.  
  6297.        OBJECT - Intel Compatible Object Code File
  6298.  
  6299.       This  is  a  format  compatible  with  many  high   level  language
  6300.       compilers.   Object files  can be  produced with screen information
  6301.       crunched, ascii only, or binary normal  (as in  ASM format).   Four
  6302.       code/data models are supported:
  6303.  
  6304.                  Turbo Pascal v4.0 (and above)
  6305.                  QuickBasic v4.0 (and above)
  6306.                  Small Data
  6307.                  Large Data
  6308.  
  6309.       The TP40  format is compatible with Turbo Pascal v4.0 through v6.0.
  6310.       Data saved to  these  files  is  referenced  by  external procedure
  6311.       calls and pointers.  Refer to the topics "TURBO PASCAL v4.0 through
  6312.       v5.5"  and  "TURBO  PASCAL   VERSION   6.0"   in   the  Programmers
  6313.       Programming Tips section for examples.
  6314.  
  6315.       The QB40  format is  for use  with QuickBasic v4.0 and higher.  The
  6316.       image data saved to these files are referenced  by provided display
  6317.       routines.    The  object  files  are  linkable  (if  you use the BC
  6318.       compiler), or can be incorporated  into  a  Quick  Library  for use
  6319.       within the  QuickBasic environment.   When  linking separately, you
  6320.       must include the file QBUTIL.LIB in addition to  any TheDraw object
  6321.       files.    To  simplify  matters,  you  can merge the QBUTIL.LIB and
  6322.       object files into one library.
  6323.  
  6324.       A batch  file MAKEQLB.BAT  is provided  to simplify  the process of
  6325.       creating Quick Library and the separate library files.  To use, the
  6326.       first parameter should be the name of the quick library  to create.
  6327.       The following parameters are TheDraw object files plus other object
  6328.       (.OBJ) and library (.LIB) files you want included.  ie:
  6329.  
  6330.                MAKEQLB testlib IMAGE1.OBJ IMAGE2.OBJ
  6331.  
  6332.       This creates the files named TESTLIB.LIB and TESTLIB.QLB.   Note no
  6333.       file  extension  was  specified  on  the "testlib" parameter above,
  6334.       since the  batch file  adds ".LIB"  and ".QLB"  automatically.  The
  6335.       Quick Library contains the display routines (from QBUTIL.LIB, which
  6336.       is always added by the  batch  file),  plus  the  screen  images in
  6337.       IMAGE1.OBJ  and  IMAGE2.OBJ.    See the topic "MICROSOFT QUICKBASIC
  6338.       v4.0 AND v4.5" in  the  Programmers  Programming  Tips  section for
  6339.       examples on usage.
  6340.  
  6341.  
  6342.  
  6343.  
  6344.  
  6345.  
  6346.  
  6347.  
  6348.  
  6349.  
  6350.        TheDraw v4.51         TheDraw Command Functions          97
  6351.  
  6352.  
  6353.  
  6354.       OBJECT FILE DATA FORMATS:
  6355.  
  6356.       The data formats use the following identifiers:
  6357.  
  6358.                  Small Data        Large Data
  6359.                  ──────────      ───────────────
  6360.              Segment:      _DATA      filename_DATA
  6361.              Group:        DGROUP         filename_DATA
  6362.  
  6363.       Where "filename" is the actual filename given the object file.
  6364.  
  6365.       The  last  prompt  under  object  files  is  for the data reference
  6366.       identifier.  This is the name  you  will  use  in  your  program to
  6367.       access the  object data.   It  defaults to  IMAGEDATA (for TP40 and
  6368.       QuickBasic) or _IMAGEDATA (Small or Large Data).  The underscore is
  6369.       usually  required   for  small   or  large  data  formats,  but  is
  6370.       application and compiler dependent.
  6371.  
  6372.       The above identifier is used to  directly reference  the image data
  6373.       stored.      In   addition,   TheDraw  generates  three  additional
  6374.       identifiers similar to the ASM case:
  6375.  
  6376.                  identifier_WIDTH
  6377.                  identifier_DEPTH
  6378.                  identifier_LENGTH
  6379.  
  6380.       For QuickBasic users the following identifiers are used,  called as
  6381.       subroutine functions to obtain the wanted value:
  6382.  
  6383.                  identifierWIDTH
  6384.                  identifierDEPTH
  6385.                  identifierLENGTH
  6386.  
  6387.       In all  cases, these  contain the dimensions of the block specified
  6388.       (width and depth).  The last identifier specifies how long the data
  6389.       block is.   The  width/depth values  are useful for drawing windows
  6390.       and other related functions.   The  length parameter  is useful for
  6391.       displaying crunched images.
  6392.  
  6393.  
  6394.        THEDRAW - TheDraw Setup Save
  6395.  
  6396.       This  format  saves  everything  about the current configuration of
  6397.       TheDraw.  In normal edit mode, all occupied page layers  are saved.
  6398.       In animation  mode, the complete animation sequence is stored.  All
  6399.       other parameters are saved  also  (ie:  current  colors,  tab line,
  6400.       cursor position, current page layer, etc...).
  6401.  
  6402.       The TheDraw  format file  also has the benefit of being the fastest
  6403.       way to load and retrieve screen images; eight page layers  or 16000
  6404.       animation entries take only seconds to load.
  6405.  
  6406.  
  6407.  
  6408.        TheDraw v4.51         TheDraw Command Functions          98
  6409.  
  6410.  
  6411.  
  6412.  
  6413.        Following the  above prompts,  TheDraw prompts for a filename.  If the
  6414.        file already exists, you are prompted to verify the save.   If  you do
  6415.        not specify a filename extension, TheDraw assumes the following:
  6416.  
  6417.               .ANS     ANSI compatible files
  6418.               .ASC     ASCII text files
  6419.               .ASM     Assembler files
  6420.               .BIN     Binary dumps
  6421.               .BSV     Bsave files
  6422.               .COM     files
  6423.               .PAS     Pascal files
  6424.               .H       C files
  6425.               .OBJ     Object files
  6426.               .TD      TheDraw format files.
  6427.  
  6428.        A file  without an  extension can  be specified by placing a period as
  6429.        the last character of the filename (ie: TESTFILE. ).  After entry of a
  6430.        valid filename, the screen is saved to disk.
  6431.  
  6432.        For information  and suggestions  on using the screen files created by
  6433.        TheDraw see Appendix B (Programmers Programming Tips).
  6434.  
  6435.  
  6436.  
  6437.                  ALT-T: TAB SETUP
  6438.  
  6439.        This command allows you to set tabs in the editor (positions where the
  6440.        [TAB] key  stops).  Initially the positions are at every tenth column.
  6441.        Available sub-commands are:
  6442.  
  6443.       SET       - Set a new tab position.  Move the cursor to  the wanted
  6444.               position then press 'S'.
  6445.       CLEAR     - Clears tab at current cursor position
  6446.       RESET     - Resets tab line to initial settings (every ten spaces).
  6447.       ERASE     - Delete all current tab setting for a clean slate.
  6448.       INCREMENT - Prompts  for  a  step  size.    From the current cursor
  6449.               position, every nth location is then set.   This allows
  6450.               you to  quickly specify,  say every  fourth position if
  6451.               your need requires it.
  6452.  
  6453.        Press [ESC] to leave the tab set command.
  6454.  
  6455.  
  6456.  
  6457.               ALT-U: USE COLORS UNDER CURSOR
  6458.  
  6459.        Changes current edit colors (seen on  status line)  to those currently
  6460.        under the  cursor.   This provides  a fast  method to change to colors
  6461.        already displayed on the screen.
  6462.  
  6463.  
  6464.  
  6465.  
  6466.        TheDraw v4.51         TheDraw Command Functions          99
  6467.  
  6468.  
  6469.  
  6470.  
  6471.                    ALT-V: VIEW A SCREEN
  6472.  
  6473.        This command allows you to look at an image saved on disk.  Nothing is
  6474.        altered by  this command.   This might be used in conjunction with the
  6475.        block load/import function (see ALT-B).
  6476.  
  6477.        Viewing a screen is similar to loading (see  ALT-L) except  the loaded
  6478.        image is  not remembered.  Once the image is fully displayed, a window
  6479.        appears  with  instructions.      Press  [ENTER]  to  exit  view mode.
  6480.        Pressing any  other key  will make  the window disappear to facilitate
  6481.        viewing.  After about 30 seconds  the window  reappears to  remind you
  6482.        about view mode (in case you leave the computer unattended).
  6483.  
  6484.  
  6485.  
  6486.                    ALT-W: EDIT CHARACTER
  6487.             (available in animation mode only)
  6488.  
  6489.        Allows the editing of a mistyped animation entry.  This command exists
  6490.        because simply overwriting an incorrect character does not  delete it.
  6491.        In  animation  mode,  both  entries  are  remembered  -  the incorrect
  6492.        character, plus the  wanted  one.    Upon  redisplaying  the animation
  6493.        sequence (see  ALT-Q), both  characters would  be seen (the former for
  6494.        only a millisecond perhaps, but it would appear).
  6495.  
  6496.        Another way is using ALT-Z to delete the incorrect entry.   The wanted
  6497.        character could then be typed in.  This works perfectly well, and some
  6498.        people may prefer it;  however, to  quickly change  an entry  ALT-W is
  6499.        more convenient.
  6500.  
  6501.        After pressing  Alt-W you are prompted to type the new character.  The
  6502.        current position  will  flicker.    All  color  changing  commands are
  6503.        available (ALT-A and the Ctrl-Arrow keys) while editing.
  6504.  
  6505.  
  6506.  
  6507.  
  6508.                 ALT-X: EXIT THEDRAW
  6509.  
  6510.        Prompts  if  you  wish  to  exit  TheDraw  or  execute a shell to DOS.
  6511.        Responding Yes exits the program.  No cancels the command.
  6512.  
  6513.        Shell also exits to Dos,  however  TheDraw  remains  in  memory.   All
  6514.        screen page  layers and  animation entries  are retained.   To free up
  6515.        memory for the Dos Shell, TheDraw will try temporarily saving its data
  6516.        to  expanded  memory/EMS  or  a  disk  swap  file (if insufficient EMS
  6517.        exists).  Typing the command "EXIT"  at  the  Dos  prompt  will return
  6518.        control to TheDraw.
  6519.  
  6520.  
  6521.  
  6522.  
  6523.  
  6524.        TheDraw v4.51         TheDraw Command Functions         100
  6525.  
  6526.  
  6527.  
  6528.  
  6529.                 ALT-Y: DELETE CURRENT LINE
  6530.  
  6531.        Deletes the  current horizontal  line on  the screen.  All lines below
  6532.        are shifted up one line position.   The  bottom line  is cleared using
  6533.        spaces and  the default  background color.  This command is reversible
  6534.        using the Restore/Undo command (ALT-R).
  6535.  
  6536.  
  6537.  
  6538.                ALT-Z: ERASE CURSOR CHARACTER
  6539.             (available in animation mode only)
  6540.  
  6541.        Erases the top-most  character  from  the  animation  sequence  at the
  6542.        current cursor  position.  Only the last character typed at the cursor
  6543.        position is deleted, everything typed before is unchanged.
  6544.  
  6545.        This differs from the Backspace  key  which  deletes  everything  at a
  6546.        cursor position.
  6547.  
  6548.  
  6549.  
  6550.              ALT-[LEFT]: DELETE CURRENT COLUMN
  6551.  
  6552.        Deletes the  current column on the screen.  Everything to the right of
  6553.        the current column is shift over one position.  The  right-most column
  6554.        is  cleared  using  spaces  and  the  default  background color.  This
  6555.        command is equivalent to using Block  Delete (ALT-B,D)  on the current
  6556.        column.  The action is reversible using Restore/Undo (ALT-R).
  6557.  
  6558.  
  6559.  
  6560.                ALT-[RIGHT]: INSERT A COLUMN
  6561.  
  6562.        Inserts a  blank vertical  column at  the current position.  The blank
  6563.        column is filled using spaces and the default  background color.   The
  6564.        current  column  and  all  those  to  its right are shifted over.  The
  6565.        right-most column  is  lost.    The  action  is  reversible  using the
  6566.        Restore/Undo command (ALT-R).
  6567.  
  6568.  
  6569.  
  6570.                ALT-- TOGGLE COLOR DRAW MODE
  6571.  
  6572.        Toggles  color  attribute  drawing.    In this mode, moving the cursor
  6573.        updates the new character position to the current  edit colors.   This
  6574.        permits  easy  manual  color  painting  of a given area.  In animation
  6575.        mode, only those locations with characters  in the  animation sequence
  6576.        will be altered.  Unused locations will not be affected.
  6577.  
  6578.        Operation of  TheDraw is  not changed by this mode.  Moving the cursor
  6579.        will simply change colors.
  6580.  
  6581.  
  6582.        TheDraw v4.51         TheDraw Command Functions         101
  6583.  
  6584.  
  6585.  
  6586.  
  6587.                ALT-= TOGGLE MACRO LEARN MODE
  6588.                  (registered version only)
  6589.  
  6590.        Activates the macro learning mode of TheDrawR.   You are  prompted for
  6591.        which macro key to program (0-9).  After specifying the macro, TheDraw
  6592.        remembers everything  you type.   This  is somewhat  akin to animation
  6593.        mode; however,  macro learn  mode literally remembers everything.  All
  6594.        editing commands performed, any  characters typed,  etc...   Up to 512
  6595.        characters will be recorded.
  6596.  
  6597.        Once satisfied  with the  macro, type  ALT-= again to save it.  To use
  6598.        the macro, press ALT  followed by  the proper  number key  0 through 9
  6599.        (do not use the numbers on the keypad).
  6600.  
  6601.        While  programming  a  macro,  selecting  another macro chains the two
  6602.        together.   Chaining  a macro  in this  fashion permits  you to create
  6603.        longer macros  than available  otherwise.  When you specify the second
  6604.        macro, the one being programmed is saved and learn mode is turned off.
  6605.  
  6606.        To program the second macro (and continue the  sequence), select Alt-=
  6607.        from command mode again.
  6608.  
  6609.        You can  create an  "endless" macro quite easily.  Simply have a macro
  6610.        call itself.  For instance, if programming macro 0, type ALT-0.  ie:
  6611.  
  6612.         ALT-= 0 [Enter]     Start programming macro 0.
  6613.         <macro contents>
  6614.         Alt-0
  6615.  
  6616.        TheDraw would repeat the macro contents until ESC was pressed.
  6617.  
  6618.  
  6619.  
  6620.  
  6621.               ALTERNATE COLOR CHANGE OPTIONS
  6622.  
  6623.        For the experienced user,  TheDraw provides  a more  convenient way of
  6624.        adjusting the current status line colors.
  6625.  
  6626.        Pressing Ctrl-Up increments the current foreground color number (found
  6627.        in ALT-A) and Ctrl-Down decrements it.  These two key  combinations do
  6628.        not always  work reliably  on all  computers (a Bios flaw exists).  To
  6629.        get around this, TheDraw incorporates  a  special  keyboard  driver to
  6630.        handle these  two keys.   If  they do not work on your machine run the
  6631.        SETUP utility and use "Keyboard  Customize"  to  configure  TheDraw to
  6632.        your keyboard.
  6633.  
  6634.        Pressing  Ctrl-Right  increments  the current background color number;
  6635.        Ctrl-Left decrements it.
  6636.  
  6637.  
  6638.  
  6639.  
  6640.        TheDraw v4.51         TheDraw Command Functions         102
  6641.  
  6642.  
  6643.  
  6644.  
  6645.             SHIFT-SPACE: SOLID SPACE CHARACTER
  6646.  
  6647.        As stated elsewhere in this documentation (see ALT-E), the sprite mode
  6648.        of TheDraw  makes lower  page layers  appear through "black spaces" on
  6649.        the  current  page  layer.    This  can  sometimes  be  convenient and
  6650.        sometimes  not.    There  are  instances  when you want to have a non-
  6651.        transparent black space on the screen.
  6652.  
  6653.        The Solid Space performs this function  (non-transparent black space).
  6654.        Moving the  cursor onto  a solid space will cause the background color
  6655.        to flicker as an  indicator.   A Solid  space is  nothing more  than a
  6656.        character #255 (which is a blank IBM extended character).
  6657.  
  6658.  
  6659.  
  6660.  
  6661.             CTRL-PRTSC: FULL SCREEN MODE TOGGLE
  6662.  
  6663.        This command  toggles screen  usage in TheDraw between normal and full
  6664.        screen.  In full-screen  mode the  status line  disappears so  you can
  6665.        fully  use  the  screen.    Also,  TheDraw  makes  heavy use of pop up
  6666.        windows for prompts and  messages.   While useful,  it can  be awkward
  6667.        since YOU  must remember  where you  are at  all times.  For instance,
  6668.        block marking and etc...  It is easy to become confused unless you are
  6669.        careful.   If all else fails, hit ESC a few times to abort the current
  6670.        command.  Some people  may prefer  this mode  which is  fine.  Nothing
  6671.        forces you to use either way.
  6672.  
  6673.        TheDraw will  automatically scroll  the video  as necessary, even with
  6674.        the status line on.   Full  screen mode  is generally  used to  take a
  6675.        complete look at your work.
  6676.  
  6677.        Ctrl-PrtSc only operates from command mode.  It is not available under
  6678.        any sub commands (such  as  Block,  Global,  etc...).    There  are no
  6679.        restrictions on full screen use in animation modes.
  6680.  
  6681.  
  6682.  
  6683.  
  6684.  
  6685.  
  6686.  
  6687.  
  6688.  
  6689.  
  6690.  
  6691.  
  6692.  
  6693.  
  6694.  
  6695.  
  6696.  
  6697.  
  6698.        TheDraw v4.51         TheDraw Command Functions         103
  6699.  
  6700.  
  6701.  
  6702.  
  6703.                   THE FONT EDITOR
  6704.  
  6705.  
  6706.        TheDraw has  complete support  for Ascii class fonts.  These fonts are
  6707.        letters and symbols drawn using the IBM extended character set.  ie:
  6708.  
  6709.                  ┌────┐   ┌─────┐    ▄▄▄▄
  6710.                  │    │   │ ┌─┐ │   █▀  ▀█
  6711.                  ├────┤   │ └─┘ │   █▄▄▄▄█   etc...
  6712.                  │    │   │ ┌─┐ │   █▀▀▀▀█
  6713.                       └─┘ └─┘   ▀    ▀
  6714.  
  6715.        TDFonts is  the management  utility for  adding and  updating the font
  6716.        database.  The utility was designed to be straightforward to learn.
  6717.  
  6718.        There are  two types  of fonts supported by TDFonts and TheDraw: Block
  6719.        and Outline formatted.  Block fonts are very  simple and  nothing more
  6720.        than recorded  shapes you  enter.   Outline fonts  are special in that
  6721.        they can appear using one  of  17  different  styles  (see  "The FONTS
  6722.        Menu").   Included with  TheDraw, the fonts "Outline" and "BigOutline"
  6723.        are examples of this type.  Some possible types are:
  6724.  
  6725.               ┌─────┐     ┌─────╖    █▀▀▀▀▀█
  6726.               │     │     │     ║    █     █
  6727.               │     │     │     ║    █     █
  6728.               └─────┘     ╘═════╝    ▀▀▀▀▀▀▀
  6729.  
  6730.        The choice of formatting types is made when creating a font.  The Font
  6731.        Editor (described later) is used to prepare and update the symbols.
  6732.  
  6733.  
  6734.        RUNNING TDFONTS:
  6735.  
  6736.        To start TDFonts, type from the dos prompt:
  6737.  
  6738.       TDFONTS
  6739.  
  6740.        Press [ENTER]  to run  the program.   By default the program looks for
  6741.        the database file TDFONTS.TDF in the current directory.  To edit other
  6742.        files, list the filename as show:
  6743.  
  6744.       TDFONTS MYFONTS.TDF      (loads MYFONTS.TDF instead of default)
  6745.  
  6746.        Keep in mind only TDFONTS.TDF is actually used by TheDraw.
  6747.  
  6748.  
  6749.  
  6750.  
  6751.  
  6752.  
  6753.  
  6754.  
  6755.  
  6756.        TheDraw v4.51          The Font Editor              104
  6757.  
  6758.  
  6759.  
  6760.  
  6761.        The database is loaded and the font names listed on the screen.  ie:
  6762.  
  6763.       A: Outline
  6764.       B: BigOutline
  6765.       C: Raster
  6766.       D: Rounded
  6767.  
  6768.        Naturally the actual list will vary depending on how the data file has
  6769.        been manipulated.  Along  the bottom  of the  screen are  all the edit
  6770.        commands.    These  are  for  viewing,  changing,  adding  new  fonts,
  6771.        importing and exporting fonts, etc...
  6772.  
  6773.  
  6774.        VIEWING FONTS:
  6775.  
  6776.        This command is for  seeing exactly  how a  given font  symbol appears
  6777.        when used in TheDraw.  Any special formatting information is hidden.
  6778.  
  6779.        Select [V]iew  from the main menu.  You then must designate which font
  6780.        should be displayed.  Use either the up/down  arrows keys  or type the
  6781.        letter associated  with the wanted font.  Press [ENTER] to continue to
  6782.        continue or [ESC] to return to the main menu.
  6783.  
  6784.        Pressing [ENTER] brings up the font symbol selector bar.  ie:
  6785.  
  6786.           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO
  6787.           PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  6788.  
  6789.        The first character "!" is  highlighted,  and  the  corresponding font
  6790.        symbol appears  below the  selector bar.   You  view symbols using the
  6791.        arrow keys to choose.  For undefined symbols, the following message is
  6792.        displayed:
  6793.                 Symbol not defined
  6794.  
  6795.        When done, press [ESC] to return to the main menu.
  6796.  
  6797.  
  6798.  
  6799.        CHANGING A FONT:
  6800.  
  6801.        The change  command is  the used for modifying or adding symbols to an
  6802.        existing font.  To create a font, use the [N]ew command.
  6803.  
  6804.        Select [C]hange from the  main menu.   You  then must  designate which
  6805.        font should  be worked on.  Use either the up/down arrows keys or type
  6806.        the letter associated with the wanted font.  Press [ENTER] to continue
  6807.        to continue or [ESC] to return to the main menu.
  6808.  
  6809.  
  6810.  
  6811.  
  6812.  
  6813.  
  6814.        TheDraw v4.51          The Font Editor              105
  6815.  
  6816.  
  6817.  
  6818.  
  6819.        Once a  font has  been selected,  a screen similar to the View command
  6820.        appears.  Additional options are available however:
  6821.  
  6822.       [DEL]       Delete current symbol
  6823.       [INS]       Copying current symbol
  6824.       [ENTER]     Edit or Add symbol
  6825.  
  6826.        These three commands in  combination with  the font  editor (described
  6827.        below) give good flexibility in maintaining the symbol database.
  6828.  
  6829.  
  6830.        DELETE SYMBOL:
  6831.  
  6832.       Removes the  database definition for the specified symbol.  You are
  6833.       asked to verify this  command before  continuing.   Once deleted, a
  6834.       font symbol cannot be restored.
  6835.  
  6836.  
  6837.        COPY SYMBOL:
  6838.  
  6839.       Copies current  symbol over  to another  undefined symbol.  You are
  6840.       asked to specify what the  target  symbol  is.    Note:  The target
  6841.       symbol cannot  be defined.  The prevents overwriting definitions by
  6842.       accident.  This option is  of  particular  use  in  duplicating the
  6843.       letters symbols (ie:  "A" to "a", "B" to "b", etc...), assuming you
  6844.       intend uppercase and lowercase  to appear  the same.   This command
  6845.       permits quickly filling out all the definitions.
  6846.  
  6847.  
  6848.        MODIFY SYMBOL:
  6849.  
  6850.       Transfers  the  symbol  definition  to  the  font editor.  The font
  6851.       editor is similar to TheDraw in many respects,  supporting a useful
  6852.       subset  of  functions.    Some familiarity with TheDraw is assumed.
  6853.       Available editor commands are:
  6854.  
  6855.            [ALT-C]    Clear Screen
  6856.            [ALT-F]    Function key symbol table
  6857.            [ALT-H]    Help Screen
  6858.            [ALT-I]    Insert a blank line
  6859.            [ALT-M]    Toggle line drawing mode
  6860.            [ALT-X]    Leave font editor, saving changes.
  6861.            [ALT-Y]    Delete current line
  6862.              [INS]    Toggle insert mode
  6863.              [DEL]    Delete character under cursor.
  6864.              [ESC]    Leave font editor, discarding changes.
  6865.          [SHIFT-SPACE]    Enter a solid space (a "≈" symbol)
  6866.  
  6867.       All function  key sets  are identical  to TheDraw  and are selected
  6868.       using the same keystrokes: [ALT-F1/F10] and [CTRL-F1/F5]
  6869.  
  6870.  
  6871.  
  6872.        TheDraw v4.51          The Font Editor              106
  6873.  
  6874.  
  6875.  
  6876.  
  6877.       EDIT MODES:
  6878.  
  6879.       There  are  two  main  differences  between  editing in TheDraw and
  6880.       TDFonts.  These  refer  to  the  special  edit  modes  and reserved
  6881.       characters.    The  edit  modes  are  for the two font format types
  6882.       (Outline and Block).
  6883.  
  6884.       Outline  formatted  fonts  place  restrictions  on  the  characters
  6885.       composing each  symbol.   You can only use the line drawing symbols
  6886.       from function key sets 1 to 4.  In addition,  specific symbols must
  6887.       used in specific places for the variable outlines to work properly.
  6888.       Consider the following:
  6889.  
  6890.               ╒══════╗
  6891.               │ ╓──┐ ║        ╒═╗     Horizontal Beam
  6892.               │ ║  │ ║        │ ║        ╒══════╗
  6893.               │ ║  │ ║        │ ║        └──────╜
  6894.               │ ╚══╛ ║        │ ║
  6895.               └───┐ ╓╜        └─╜ < Vertical Column
  6896.               └─╜
  6897.  
  6898.       All outline symbols are made from  vertical columns  and horizontal
  6899.       beams.  The "Q" above is a classic example.  The double lines which
  6900.       give the 3D effect tell TDFonts  about the  left/right column sides
  6901.       and top/bottom of beams.  The rules of usage are:
  6902.  
  6903.          Double lines are always the rightmost side of a column.
  6904.          Double lines are always the topmost side of a beam.
  6905.  
  6906.       You  must  follow  this  guideline  exactly  in  order  to create a
  6907.       functional outline formatted  font.    Not  doing  so  will produce
  6908.       undesired side effects when changing the outlines in TheDraw.
  6909.  
  6910.  
  6911.       RESERVED CHARACTERS:
  6912.  
  6913.       The  reserved  characters  are  for  solid  spaces  and  specifying
  6914.       descender lines.  Typically  solid  spaces  are  used  to  fill the
  6915.       inside of  columns and beams.  These are drawn with "≈" characters.
  6916.       ie:
  6917.  
  6918.                   ╒════════╗  ╒════════╗
  6919.                   │≈≈≈≈≈≈≈≈║  │≈≈≈≈≈≈≈≈║      Note that solid
  6920.                   │≈≈╓──┐≈≈║  │≈≈╔══╕≈≈║      spaces are always
  6921.                   │≈≈║  │≈≈║  │≈≈║  │≈≈║      visible in TDFonts
  6922.                   │≈≈╚══╛≈≈║  │≈≈║  │≈≈║      verses TheDraw).
  6923.                   │≈≈≈≈≈≈≈≈║  │≈≈╙──┘≈≈║
  6924.                   │≈≈╓──┐≈≈║  │≈≈≈≈≈≈≈≈║
  6925.                   └──╜  └──╜  └────┐≈≈╓╜
  6926.                            └──╜&
  6927.  
  6928.  
  6929.  
  6930.        TheDraw v4.51          The Font Editor              107
  6931.  
  6932.  
  6933.  
  6934.  
  6935.       Descenders also require a special  "&"  marker.    TheDraw arranges
  6936.       font symbols  based on their bottom line.  Note how the "A" and "Q"
  6937.       were drawn  above.   Lines marked  with ampersands  are not counted
  6938.       when TheDraw aligns the symbols.   Font  symbols  typically needing
  6939.       the descender marks are:
  6940.  
  6941.                 $ , ; _ Q g j p q y
  6942.  
  6943.       Others symbols may require them also, depending on how your font is
  6944.       designed.
  6945.  
  6946.  
  6947.  
  6948.        MAKING NEW FONTS:
  6949.  
  6950.        Creating a  new font  is a simple two part process.  First make a font
  6951.        slot with the [N]ew command.  Next, use  the [C]hange  command to fill
  6952.        all the font symbol definitions.
  6953.  
  6954.        After choosing [N]ew, TDFonts prompts for some descriptive name.  This
  6955.        will appear in the font listing, and in TheDraw.   Names can  be up to
  6956.        12 characters.
  6957.  
  6958.        Once a  name is  picked name  (which can be changed later), you select
  6959.        the font formatting type.   Choices  are either  [B]lock or [O]utline.
  6960.        Refer  to  "EDIT  MODES"  above  for  a description of the difference.
  6961.        Briefly, fonts of type Block can be drawn using anything  - but remain
  6962.        fixed.   As you draw them, they will appear in TheDraw.  Outline fonts
  6963.        can be altered on the fly using the "Outline Type" pulldown command.
  6964.  
  6965.        You have now generated a new font slot.  Proceed  to use  the [C]hange
  6966.        command  to  define  the  individual  font  symbols.   One approach to
  6967.        simplify the procedure is making a generic symbol  such as  "O" first.
  6968.        Copy it to other similar symbols (such as "0", "Q", "G", "C", etc...).
  6969.        Only minor edits are needed to finish the first symbols.  Use parts of
  6970.        these to make other symbols, such as "(", ")", and carry onwards.
  6971.  
  6972.        Keep in  mind nothing  requires you to place letters into a font.  You
  6973.        could create a font holding several often used patterns or pictures.
  6974.  
  6975.  
  6976.  
  6977.        MOVING A FONT:
  6978.  
  6979.        This command reorders the list of font names.   Use  it to  place your
  6980.        fonts in alphabetical or any order which you prefer.
  6981.  
  6982.        Press [M],  then choose a font (see View command).  Next, TDFonts asks
  6983.        the destination to put it.  The font is placed  in front  of whichever
  6984.        destination font you pick.
  6985.  
  6986.  
  6987.  
  6988.        TheDraw v4.51          The Font Editor              108
  6989.  
  6990.  
  6991.  
  6992.  
  6993.        RENAMING A FONT:
  6994.  
  6995.        Changes font  descriptions which appear in the main menu list.  Select
  6996.        [R]ename and choose a font.  You are  then prompted  for the  new font
  6997.        name.  Press [ENTER] when done or [ESC] to abort.
  6998.  
  6999.  
  7000.        DELETING A FONT:
  7001.  
  7002.        Permanently removes  a font  from the  database file.   Press [D] then
  7003.        choose the target font.  TDFonts  asks you  to verify  this operation.
  7004.        Be  careful  since  deleting  a  font  cannot  be undone.  Type [Y] to
  7005.        proceed with erasing the font or [N] to abort.
  7006.  
  7007.  
  7008.  
  7009.        FONT IMPORTING:
  7010.  
  7011.        Appends a separate database file  onto  the  current  database  file.
  7012.        Press [I],  and TDFonts  prompts for a filename.  Type in the pathname
  7013.        to the import file.  Press [ENTER] to continue or  [ESC] to  abort the
  7014.        command.
  7015.  
  7016.        Upon pressing [ENTER] all fonts contained in the specified import file
  7017.        are loaded and added to the current database  list.   An error message
  7018.        appears if the file was invalid.
  7019.  
  7020.  
  7021.  
  7022.        FONT EXPORTING:
  7023.  
  7024.        Copies fonts  in the current database to another file.  Press [E], and
  7025.        choose the font  to  export/copy.    TDFonts  prompts  for  the output
  7026.        filename.   Enter your filename and press [ENTER] to continue or [ESC]
  7027.        to abort.
  7028.  
  7029.        After hitting  [ENTER], TDFonts  checks to  see if  the file specified
  7030.        already exists.  If so, type [Y] to overwrite the existing file or [N]
  7031.        to abort this command.
  7032.  
  7033.        The new font file is generated and you return to the main menu.
  7034.  
  7035.  
  7036.  
  7037.  
  7038.  
  7039.  
  7040.  
  7041.  
  7042.  
  7043.  
  7044.  
  7045.  
  7046.        TheDraw v4.51          The Font Editor              109
  7047.  
  7048.  
  7049.  
  7050.  
  7051.                  THE PRESENTATION PROGRAM
  7052.  
  7053.  
  7054.        The Presentation Program (THEPP) included with  the registered version
  7055.        of  TheDraw  is  a  command  line  driven utility intended to simplify
  7056.        displays and demonstrations.  It is flexible and  easy to  use.  THEPP
  7057.        can display  any file loadable by TheDraw (Ansi, Ascii, Binary, BSave,
  7058.        Object and TheDraw formats).  As with TheDraw, the filename extensions
  7059.        tell  THEPP  what  format  a  given  file  is saved in.  The following
  7060.        extensions are used (but changeable via the SETUP utility):
  7061.  
  7062.                   Binary Dump        .BIN
  7063.                   Basic BSAVE        .BSV
  7064.                   TheDraw COM Files  .COM
  7065.                   TheDraw OBJ Files  .OBJ
  7066.                   TheDraw Format     .TD
  7067.  
  7068.        Any other file is assumed to be either Ansi or Ascii.   TheDraw format
  7069.        files store  which page  layer was  being edited.  THEPP displays only
  7070.        this page layer.  If sprite mode was turned on, any page  layers below
  7071.        the current one will appear also ("under" the current layer).
  7072.  
  7073.        THEPP takes  as its  parameters a  list of filenames to display on the
  7074.        screen.  This it will do  as fast  and efficiently  as possible unless
  7075.        otherwise  stated  (on  other  words,  you  will probably want to slow
  7076.        things down a bit).
  7077.  
  7078.        The following options may  be  interspersed  anywhere  in  the command
  7079.        line, before  between or  after, any filenames.  Options are specified
  7080.        by using a slash followed by one of these characters:
  7081.  
  7082.       Character       Action
  7083.  
  7084.           p       Stops THEPP  the display  of pause  messages on the
  7085.               screen.  Note the pauses are still performed.
  7086.  
  7087.           k       Pause for  a key  to be  pressed by  user.  This is
  7088.               useful for placing between  files, so  you can stop
  7089.               to appreciate what is shown.  See also /i command.
  7090.  
  7091.           t<num>      Pauses for  <num> number of seconds.  Valid numbers
  7092.               for <num> are 1 to 255 seconds.  ie:
  7093.  
  7094.                    /t10   (pause for ten seconds)
  7095.  
  7096.           s<num>      Animation display speed.  This is a slowdown factor
  7097.               identical to  the value you enter when using ALT-Q.
  7098.               It is used whenever  THEPP displays  a Ansi, Ascii,
  7099.               or  TheDraw  format  file.   ie: s10 slows down the
  7100.               file display equivalent to an ALT-Q value of 10.
  7101.  
  7102.  
  7103.  
  7104.        TheDraw v4.51         The Presentation Program          110
  7105.  
  7106.  
  7107.  
  7108.  
  7109.       Character       Action (continued)
  7110.  
  7111.           b       Produces a beep on the computer speaker.
  7112.  
  7113.           c       Clears the screen.   THEPP by  default does nothing
  7114.               before displaying a file.  If you wish to clear the
  7115.               screen beforehand use this option.
  7116.  
  7117.           m<x>,<y>    Moves the cursor  to  horizontal  position  <x> and
  7118.               vertical  position  <y>.    Useful  if  you want to
  7119.               control where an Ansi or Ascii  file will  start to
  7120.               appear on  the screen, or wish to display a message
  7121.               using the command below.  ie:
  7122.  
  7123.                  /m40,12   (move cursor to center of screen)
  7124.  
  7125.           a<f>,<b>    Changes  text  output   color   to   the  specified
  7126.               foreground and  background colors.   Colors are the
  7127.               same as listed under ALT-A, but are repeated below:
  7128.  
  7129.                   Black           DGray     (Dark Gray)
  7130.                   Blue            LBlue     (Light Blue)
  7131.                   Green           LGreen    (Light Green)
  7132.                   Cyan            LCyan     (Light Cyan)
  7133.                   Red             LRed      (Light Red)
  7134.                   Magenta         LMagenta  (Light Magenta)
  7135.                   Brown           Yellow
  7136.                   LGray (Light Gray)  White
  7137.  
  7138.               Foreground  colors  may  be   any  of   the  above.
  7139.               Background colors are restricted to the first eight
  7140.               however (Black to LGray).  ie:
  7141.  
  7142.                   /aYellow,Cyan  (Yellow on Cyan background)
  7143.  
  7144.           "text"      Displays any message or  text  between  the quotes.
  7145.               The  message   MUST  be   terminated  by  a  quote,
  7146.               otherwise THEPP assumes  the  rest  of  the command
  7147.               line is  a message.   This is useful if you wish to
  7148.               display your own "Press any key  to continue" style
  7149.               message, etc...  Use the "m" option described above
  7150.               to position messages anywhere  on  the  screen, and
  7151.               "a" option to select appropriate colors.  ie:
  7152.  
  7153.                       /"Hello World"
  7154.  
  7155.               Prints   message   "Hello  World"  (without  quotes
  7156.               naturally) at cursor position.
  7157.  
  7158.  
  7159.  
  7160.  
  7161.  
  7162.        TheDraw v4.51         The Presentation Program          111
  7163.  
  7164.  
  7165.  
  7166.  
  7167.           v<size>     Specify video size to  use.   Either 25,  43, or 50
  7168.               vertical  lines.    Note  the  43  &  50 parameters
  7169.               operate identically  (43 lines  always selected for
  7170.               EGA adapter, 50 for VGA).  ie:
  7171.  
  7172.                  /v50  (select VGA 50 line display)
  7173.  
  7174.           f<filename> Directs  THEPP  to  obtain  more  commands from the
  7175.               specified file.  This command file  simply contains
  7176.               a  list  of  the  above commands.  In addition, the
  7177.               command file may call  upon  another  command file.
  7178.               Once   that   nested   command  file  is  finished,
  7179.               execution returns  to the  following instruction in
  7180.               the first  file.   Up to  ten levels of nesting may
  7181.               be active at once.  ie:
  7182.  
  7183.                        /fCOMMANDS.FIL
  7184.  
  7185.               Use file COMMANDS.FIL as source for next commands.
  7186.  
  7187.  
  7188.        If you do not give any parameters, THEPP  will display  an abbreviated
  7189.        help screen for convenience.  Examples of THEPP usage and explanations
  7190.        are given below:
  7191.  
  7192.  
  7193.        THEPP /c/p SHUTTLE2.ANS /m34,25 /aYellow,Black /"Press a key" /k/c
  7194.  
  7195.       Clears the  screen, and  turns off  the display  of pause messages.
  7196.       The Ansi  text demo file SHUTTLE2.ANS is displayed, followed by the
  7197.       message "Press a key" in Yellow approximately in the center  of the
  7198.       bottom  line.    THEPP  then  waits  for a key to be pressed before
  7199.       clearing the screen and returning to Dos.
  7200.  
  7201.  
  7202.        THEPP DEMO.TD /c /m38,12 /"BLIP" /b/p/t10 /m1,20
  7203.  
  7204.       Displays the current page layer of DEMO.TD, then immediately clears
  7205.       the screen, displays "BLIP" in the middle of the screen, and sounds
  7206.       the speaker.  The cursor is then placed at the beginning of line 20
  7207.       and THEPP exits.
  7208.  
  7209.  
  7210.        THEPP SOMEFILE.ASC
  7211.  
  7212.       Displays the contents of the Ascii file SOMEFILE.ASC on the screen.
  7213.       Equivalent to using "TYPE SOMEFILE.ASC".
  7214.  
  7215.  
  7216.  
  7217.  
  7218.  
  7219.  
  7220.        TheDraw v4.51         The Presentation Program          112
  7221.  
  7222.  
  7223.  
  7224.  
  7225.        THEPP /fCOMMAND1.FIL /m1,6 /"All done!"
  7226.  
  7227.       Makes THEPP obtain its  next commands  from the  file COMMAND1.FIL.
  7228.       This file  simply contains  a list  of command line parameters.  An
  7229.       example might be:
  7230.  
  7231.          Filename #1:  COMMAND1.FIL
  7232.         /m1,1
  7233.         /"Command file 1 running - Running command file 2"
  7234.         /fCOMMAND2.FIL
  7235.         /m1,5
  7236.         /"Command file 1 resumed."
  7237.  
  7238.  
  7239.          Filename #2:  COMMAND2.FIL
  7240.         /m1,2
  7241.         /"Command file 2 running - Running command file 3"
  7242.         /fCOMMAND3.FIL
  7243.         /m1,4
  7244.         /"Command file 2 resumed."
  7245.  
  7246.  
  7247.          Filename #3:  COMMAND3.FIL
  7248.         /m1,3
  7249.         /"Command file 3 running"
  7250.  
  7251.       In this example, command files are nest two levels deep.   In other
  7252.       words,  COMMAND1.FIL  calls  COMMAND2.FIL  which calls COMMAND3.FIL
  7253.       which then exits back to COMMAND2.FIL which then exits finally back
  7254.       to COMMAND1.FIL.   THEPP  allows nesting to go ten (10) levels deep
  7255.       for a large amount of complexity.  Running the above  example would
  7256.       produce the output:
  7257.  
  7258.          Command file 1 running - Running command file 2
  7259.          Command file 2 running - Running command file 3
  7260.          Command file 3 running
  7261.          Command file 2 resumed
  7262.          Command file 1 resumed
  7263.          All done!
  7264.  
  7265.       Note:    Conceivably,  an  semi-endless  loop is possible.  In this
  7266.       case, a command file would call itself (ie:  replace /fCOMMAND2.FIL
  7267.       with /fCOMMAND1.FIL in the above example).  If this occurred, THEPP
  7268.       would open the same command file 10 times  then stop  with an error
  7269.       message.
  7270.  
  7271.  
  7272.  
  7273.  
  7274.  
  7275.  
  7276.  
  7277.  
  7278.        TheDraw v4.51         The Presentation Program          113
  7279.  
  7280.  
  7281.  
  7282.  
  7283.                  THE SETUP UTILITY
  7284.  
  7285.  
  7286.        This  section  describes  how  to  customize  TheDraw and install your
  7287.        customizations  in  the   THEDRAW.EXE   or   THEDRAWR.EXE  (registered
  7288.        version) files.
  7289.  
  7290.  
  7291.        WHY SETUP?
  7292.        ──────────────────────────────────────────────────────────────────────
  7293.        Setup  is  the  TheDraw  installation  program;  used to customize the
  7294.        TheDraw program (.EXE) file.  With this utility you can specify screen
  7295.        modes, change  edit colors  and customize  various other defaults.  It
  7296.        directly  modifies  various  parameter  values  within  your  copy  of
  7297.        THEDRAW.EXE or THEDRAWR.EXE.
  7298.  
  7299.        Via Setup you can do the following:
  7300.  
  7301.       o  Setup the default video display mode
  7302.  
  7303.       o  Change screen colors
  7304.  
  7305.       o  Resize TheDraw's usage of available memory
  7306.  
  7307.       o  Change save screen default parameters.
  7308.  
  7309.       o  Specify initial default filespec wildcards.
  7310.  
  7311.  
  7312.        In the registered version of TheDraw, the Setup utility can also:
  7313.  
  7314.       o  Customize or "remap" the editor command keys and mouse buttons.
  7315.  
  7316.       o  Setup a path to the directory where help files are stored.
  7317.  
  7318.  
  7319.        TheDraw comes ready to run; there is no mandatory installation.  After
  7320.        setting up as specified in "GETTING STARTED", TheDraw is usable.
  7321.  
  7322.        However, you  will need  to run  Setup if  you want  to do  any of the
  7323.        following:
  7324.  
  7325.       o  Change TheDraw default colors.
  7326.  
  7327.       o  Force a display mode or "snow" checking
  7328.  
  7329.       o  Customize the editor commands to preferred sequences.
  7330.  
  7331.       o  Adjust memory usage to better suit your needs.
  7332.  
  7333.  
  7334.  
  7335.  
  7336.        TheDraw v4.51         The Setup Utility             114
  7337.  
  7338.  
  7339.  
  7340.  
  7341.        DISPLAY WINDOWS AND SELECTING OPTIONS
  7342.        ──────────────────────────────────────────────────────────────────────
  7343.        The  setup  utility  operates  in  a  windowing user environment.  You
  7344.        select commands by either pressing the highlighted capital letter of a
  7345.        given option,  or using  the Up  and Down  arrow keys  to move to your
  7346.        selection and then pressing [ENTER].
  7347.  
  7348.  
  7349.        SAVING AND ABORTING CHANGES
  7350.        ──────────────────────────────────────────────────────────────────────
  7351.        In general, pressing [ENTER]  will save  any changes.   Pressing [ESC]
  7352.        (as many  times as needed) will abort a function and return you from a
  7353.        submenu to the main installation menu.  Where  this convention  is not
  7354.        followed, instructions are displayed on screen for you.
  7355.  
  7356.  
  7357.        RUNNING SETUP
  7358.        ──────────────────────────────────────────────────────────────────────
  7359.        To get started, from the Dos prompt type:
  7360.  
  7361.       SETUP
  7362.  
  7363.        Press [ENTER]  to start  the utility.   Once running, you are prompted
  7364.        for the program filename to configure.  You can have several different
  7365.        customized copies  of TheDraw on your system.  These various copies of
  7366.        THEDRAW.EXE can each have  different executable  program names.   This
  7367.        allows you to prepare various editor command-keys, menu colors, etc...
  7368.        if you are so inclined.   The  registered  program  version  is called
  7369.        THEDRAWR.EXE.
  7370.  
  7371.        After  selecting  a  file  to  edit,  SETUP determines what version of
  7372.        TheDraw is being updated (shareware or registered).   It then proceeds
  7373.        to the main menu.
  7374.  
  7375.  
  7376.        THE MAIN MENU:
  7377.  
  7378.        The  main  setup  menu  displays  all  the  primary  areas  which  are
  7379.        configurable.  Options available  are Editor  configuration*, Keyboard
  7380.        customize, Screen  mode, Colors,  Help and  overlay file path*, Memory
  7381.        usage, Defaults, or Quit/Save.  These are described below.
  7382.  
  7383.        * Available while editing the registered version only.
  7384.  
  7385.  
  7386.  
  7387.  
  7388.  
  7389.  
  7390.  
  7391.  
  7392.  
  7393.  
  7394.        TheDraw v4.51         The Setup Utility             115
  7395.  
  7396.  
  7397.  
  7398.  
  7399.        EDITOR CONFIGURATION:
  7400.  
  7401.       The editor in  TheDraw  provides  many  features,  including cursor
  7402.       control,  color  changing,  various  text operations, etc...  These
  7403.       editing commands are assigned  to certain  keystrokes, as described
  7404.       earlier throughout  this documentation.   This setup option permits
  7405.       you to change the default assignments for each function.
  7406.  
  7407.       When you select Editor  Configuration from  SETUP's main  menu, the
  7408.       editor installation  screen appears.   Three columns of information
  7409.       will be immediately notable:
  7410.  
  7411.          o  The  first  (left-most)  column  describes  each configurable
  7412.         function available in the editor.
  7413.  
  7414.          o  The second  column lists  Primary keystrokes.  These keys are
  7415.         the defaults by which TheDraw normally operates.
  7416.  
  7417.          o  The third  column  lists  Secondary  keystrokes.    These are
  7418.         optional  alternates  keystrokes  you  may  press to invoke a
  7419.         given  editor  action.      These   keystrokes   always  take
  7420.         precedence over the primary keystrokes described above.
  7421.  
  7422.       Along the bottom of the screen is a list of the keys used to select
  7423.       and modify entries.
  7424.  
  7425.          Key          Action
  7426.          ───────────────────────────────────────────────────────────────
  7427.          [UP] [DOWN]      Selects the editor command you wish to change.
  7428.  
  7429.          [PGUP] [PGDN]    Scrolls up/down one full screen page.
  7430.  
  7431.          [ENTER]          Enters the secondary keystroke modify mode.
  7432.  
  7433.          [R]          Restore all  editor  commands  to  the original
  7434.                   default values.
  7435.  
  7436.          [ESC]            Returns to the main SETUP options menu.
  7437.          ───────────────────────────────────────────────────────────────
  7438.  
  7439.       After pressing  [ENTER] to  modify a command, the current secondary
  7440.       definition disappears.  You can then  type in  your new definition.
  7441.       Anything may  be used  for redefining  a key  except Numbers (0-9),
  7442.       Letters (A-Z,a-z), [ENTER], [ESC]  and [BACKSPACE].   A  maximum of
  7443.       four keystrokes  for any  given editor command is allowed; however,
  7444.       certain key  combinations  are  equal  to  two  keystrokes.   These
  7445.       include ALT-(key),  cursor movement keys ([UP], [PGDN], etc...) and
  7446.       any keystroke involving a function key ([F1], [CTRL-F4], etc...).
  7447.  
  7448.  
  7449.  
  7450.  
  7451.  
  7452.        TheDraw v4.51         The Setup Utility             116
  7453.  
  7454.  
  7455.  
  7456.  
  7457.       Press [ESC] to  save  any  changes  to  keystrokes.    You  will be
  7458.       prompted  to   verify  the  save.    If  there  are  any  duplicate
  7459.       keystrokes, SETUP will point  out the  first occurrence  so you can
  7460.       clear up the problem (marked with an asterisk).
  7461.  
  7462.  
  7463.  
  7464.        KEYBOARD CUSTOMIZE:
  7465.  
  7466.       The true  IBM-PC and certain clones have a Bios omission preventing
  7467.       the [CTRL-UP],  [CTRL-DOWN], [ALT-LEFT]  and [ALT-RIGHT] keystrokes
  7468.       from working  properly.  TheDraw gets around this by using a custom
  7469.       keyboard driver.  The factory defaults  from TheSoft  will work for
  7470.       the great majority of computers.  However, if you have difficulties
  7471.       try this setup configuration option.
  7472.  
  7473.       SETUP examines the keyboard hardware to  see what  happens when any
  7474.       of the  above are  pressed.  Upon selecting this option, the screen
  7475.       clears and prompts if you wish to continue.  Next you are  asked to
  7476.       press  [CTRL-UP],  [CTRL-DOWN],  [ALT-LEFT] and [ALT-RIGHT] in that
  7477.       order.  The scan codes returned by your keyboard are displayed.
  7478.  
  7479.       Next you can experiment  to see  that everything  is indeed working
  7480.       properly.      Press   [CTRL-UP/DOWN]  and  [ALT-LEFT/RIGHT]  until
  7481.       satisfied the keys were programmed  correctly.    Press  [ENTER] to
  7482.       return to the main menu.
  7483.  
  7484.       Note:
  7485.          A few  computers react  badly to  this driver.  If your computer
  7486.          does not operate as expected  when  running  TheDraw,  start the
  7487.          setup utility by typing (from the dos prompt):
  7488.  
  7489.            SETUP *
  7490.  
  7491.          Press  [ENTER]  to  start  Setup.    The current settings of the
  7492.          keyboard driver will be displayed.  Respond [Y]es or [N]o if the
  7493.          setting  is  correct.    If  after  deactivating the driver your
  7494.          computer still locks, please contact TheSoft.
  7495.  
  7496.  
  7497.  
  7498.        SCREEN MODE:
  7499.  
  7500.       Normally, THEDRAW will automatically  determine  the  correct video
  7501.       mode of  your computer.   You should only need to change the Screen
  7502.       mode option if:
  7503.  
  7504.          o  you think TheDraw is incorrectly detecting your hardware.
  7505.  
  7506.          o  you have a Color Graphics Adapter (CGA) that does not produce
  7507.         the "snow" or hashing effect.
  7508.  
  7509.  
  7510.        TheDraw v4.51         The Setup Utility             117
  7511.  
  7512.  
  7513.  
  7514.  
  7515.          o  You have an EGA or VGA video card and wish to always start in
  7516.         43/50 line edit mode.
  7517.  
  7518.          o  your computer has a composite or LCD video  screen, appearing
  7519.         like a  CGA but  with only one color.  In this case, you want
  7520.         the Black and White screen option.
  7521.  
  7522.       Upon pressing S to select this  option, a  pop-up menu  will appear
  7523.       with the available options.  These are fairly apparent:
  7524.  
  7525.  
  7526.       DEFAULT
  7527.  
  7528.          TheDraw will operate in the mode active when first run.
  7529.  
  7530.  
  7531.       BLACK AND WHITE
  7532.  
  7533.          TheDraw  will  use  composite  black and white mode (80 column),
  7534.          regardless of the active mode  when  first  run.    The original
  7535.          video mode will be selected when you exit TheDraw.
  7536.  
  7537.  
  7538.       COLOR
  7539.  
  7540.          TheDraw will use color mode (80 column), regardless of what mode
  7541.          active when first run.  The original video mode will be selected
  7542.          when you exit TheDraw.
  7543.  
  7544.  
  7545.       EGA/VGA
  7546.  
  7547.          TheDraw  will  use  color  mode  (80  column)  and  43/50 lines,
  7548.          regardless of what mode was  active  initially.    Initial video
  7549.          mode is restored upon exit from TheDraw.
  7550.  
  7551.  
  7552.       MONOCHROME
  7553.  
  7554.          TheDraw  uses  monochrome  video  mode, and switches back to the
  7555.          previous mode upon exiting.
  7556.  
  7557.       After selecting one of the first three options above (Default, B&W,
  7558.       or Color),  SETUP checks  the screen  for snow.  If you see snow or
  7559.       hashing, respond Yes to the prompt that appears.
  7560.  
  7561.  
  7562.  
  7563.  
  7564.  
  7565.  
  7566.  
  7567.  
  7568.        TheDraw v4.51         The Setup Utility             118
  7569.  
  7570.  
  7571.  
  7572.  
  7573.        COLOR CONFIGURATION:
  7574.  
  7575.       TheDraw holds three complete  sets of  configurable colors.   Which
  7576.       color  set  is  used  depends  on the initial screen mode specified
  7577.       above.  The sets  are for  Color, Black  and White,  and Monochrome
  7578.       screen users.  A pop-up window prompts for which set to edit.
  7579.  
  7580.       After selecting  a color  set, another  pop-up prompts for the item
  7581.       type to configure.  Options are the Edit Screen, Main Help Display,
  7582.       Directory  (Load/View)  Screen,  Pop-up  help,  and  Pull-Down menu
  7583.       display.
  7584.  
  7585.       Next,  a  menu  of  configurable  items  under  that  type appears.
  7586.       Selecting one  displays a  view port and list of available colors.
  7587.       The view port shows an example of the  screen item  you chose.   It
  7588.       also reflects any changes in colors as you scroll through the color
  7589.       palette.
  7590.  
  7591.       Use the arrows keys to select  a  color  to  your  liking  from the
  7592.       palette.   Watch the  view port  to see  how the item looks in that
  7593.       color.  Press [ENTER] or [ESC] to save your choice.
  7594.  
  7595.       Now repeat this procedure for every screen color  item you  want to
  7596.       customize.   When done,  press [ESC]  until you  return to the main
  7597.       SETUP menu.
  7598.  
  7599.  
  7600.  
  7601.        FILES DIRECTORY:
  7602.  
  7603.       The Files  Directory is  used by  TheDraw to  find its  files.  The
  7604.       shareware version looks for the pick list file (THEDRAW.PCK) there.
  7605.       The registered version of TheDraw looks for its help and  macro key
  7606.       files there in addition.
  7607.  
  7608.       The current  setting is  displayed for  you.   To change it, simply
  7609.       type in the new directory.  Enter a period (.) by itself to use the
  7610.       current directory  of Dos  when TheDraw  is loaded.   Press [ENTER]
  7611.       without entry to leave unchanged.
  7612.  
  7613.  
  7614.  
  7615.  
  7616.  
  7617.  
  7618.  
  7619.  
  7620.  
  7621.  
  7622.  
  7623.  
  7624.  
  7625.  
  7626.        TheDraw v4.51         The Setup Utility             119
  7627.  
  7628.  
  7629.  
  7630.  
  7631.        MEMORY USAGE:
  7632.  
  7633.       TheDraw always tries to allocate all available memory  up to limits
  7634.       specified by this SETUP option.  When fully configured, TheDraw can
  7635.       use as much as 410k of  memory.    Memory  is  allocated  first for
  7636.       screen page layers and then for the animation system.
  7637.  
  7638.       If you  have limited  memory, there might not be enough space for 8
  7639.       page layers and 16000 animation entries (maximum usage).  There may
  7640.       however  be  enough  space  for  4  page  layers and 5000 animation
  7641.       entries, or just one layer, or anything in between.
  7642.  
  7643.       This  is  when  you  may  wish  to  override  the  automatic memory
  7644.       allocation.   To make  TheDraw operate  as in earlier versions, you
  7645.       would want just 2 page layers  and  5000  entries.    Feel  free to
  7646.       experiment.  Keep in mind that TheDraw will scale down all settings
  7647.       when loaded if there is insufficient memory.
  7648.  
  7649.       Upon selecting this option the current  settings are  displayed for
  7650.       you.   The amount  of memory occupied by screen page layers and the
  7651.       animation system is also  indicated.   If you  wish to  change them
  7652.       answer Yes to the prompt.  You can then enter new values for both.
  7653.  
  7654.  
  7655.  
  7656.        DEFAULTS:
  7657.  
  7658.       TheDraw  has  certain  default  values used throughout the program.
  7659.       Some of these are:
  7660.  
  7661.          o  Initial edit colors
  7662.          o  Default file extensions
  7663.          o  Default file save parameters
  7664.          o  Sticky directory wildcards
  7665.          o  Initial work file directory
  7666.          etc...
  7667.  
  7668.       Selecting Defaults from the main setup menu displays  a screen with
  7669.       several fields.  Use the up and down arrow keys to select the field
  7670.       you wish to change.  PgUp/PgDn  switches between  the three screens
  7671.       of options.   To  change a  value follow  the on screen directions.
  7672.       Pressing [R] at any  time restores  all "factory"  defaults.  Press
  7673.       [ESC] when satisfied with your changes.
  7674.  
  7675.       Note: Many  of the defaults may be changed using TheDraw's internal
  7676.       Setup screen also.
  7677.  
  7678.  
  7679.  
  7680.  
  7681.  
  7682.  
  7683.  
  7684.        TheDraw v4.51         The Setup Utility             120
  7685.  
  7686.  
  7687.  
  7688.  
  7689.        QUIT/SAVE:
  7690.  
  7691.       Once all changes are completed, select Quit/save at  the main SETUP
  7692.       menu.  The message:
  7693.  
  7694.                 Save Changes? (Y/N)
  7695.  
  7696.       appears along  the bottom  line of  the screen.  Reply Yes, and all
  7697.       the changes you have made will  be saved  into TheDraw.   Reply No,
  7698.       and all  your changes  are ignored.  After either reply, you return
  7699.       to the dos prompt.
  7700.  
  7701.       If you ever decide to reset TheDraw completely to factory defaults,
  7702.       simply copy  the EXE  program file from your original disk (you did
  7703.       make one right?) onto your work  disk.    If  you  -just-  want the
  7704.       editor commands restored, type [R] under the editor configuration.
  7705.  
  7706.  
  7707.  
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.  
  7716.  
  7717.  
  7718.  
  7719.  
  7720.  
  7721.  
  7722.  
  7723.  
  7724.  
  7725.  
  7726.  
  7727.  
  7728.  
  7729.  
  7730.  
  7731.  
  7732.  
  7733.  
  7734.  
  7735.  
  7736.  
  7737.  
  7738.  
  7739.  
  7740.  
  7741.  
  7742.        TheDraw v4.51         The Setup Utility             121
  7743.  
  7744.  
  7745.  
  7746.  
  7747.                     APPENDIX A
  7748.  
  7749.                    SETTING UP CONFIG.SYS
  7750.  
  7751.  
  7752.        The ANSI  driver must  be installed  to display  Ansi color images and
  7753.        Ansi animation files via the Dos TYPE command.   This  can be  done by
  7754.        adding a  'DEVICE=ANSI.SYS' statement to your CONFIG.SYS file.  If you
  7755.        do not have a CONFIG.SYS  file,  you  can  create  one  by  typing the
  7756.        following in your root directory:
  7757.  
  7758.               COPY CON CONFIG.SYS<enter>
  7759.               DEVICE=ANSI.SYS<enter>
  7760.               ^Z<enter>           ( <-- press CTRL and Z )
  7761.  
  7762.        If you have a CONFIG.SYS file, append the sequence with:
  7763.  
  7764.               EDLIN CONFIG.SYS<enter>
  7765.               #I<enter>
  7766.               DEVICE=ANSI.SYS<enter>
  7767.               ^Z<enter>           ( <-- press CTRL and Z )
  7768.               E<enter>
  7769.  
  7770.        For this  to work properly, the ANSI.SYS file must also be in the root
  7771.        directory of your boot disk or hard drive (whichever is applicable).
  7772.  
  7773.        People wanting  to use  a mouse  with TheDraw  may have  to install an
  7774.        additional  file  in  their  CONFIG.SYS  file.    If  a driver must be
  7775.        installed, follow the above instructions using the name  of your mouse
  7776.        driver  (ie:  MSMOUSE.SYS  or  MOUSE.SYS, etc...) instead of ANSI.SYS.
  7777.        Additional parameters  may be  required.   Please refer  to the manual
  7778.        that came with your mouse for more details.
  7779.  
  7780.        There  are  many  other  useful  statements that can be placed in your
  7781.        CONFIG.SYS file.  Two which can  dramatically improve  the performance
  7782.        of DOS are:
  7783.  
  7784.                      BUFFERS=10
  7785.                      FILES=10
  7786.  
  7787.        Add these  as stated  above.   If you created a new CONFIG.SYS for the
  7788.        DEVICE=ANSI.SYS clause by COPY CON, then append these using the second
  7789.        method.  Enjoy!
  7790.  
  7791.  
  7792.  
  7793.  
  7794.  
  7795.  
  7796.  
  7797.  
  7798.  
  7799.  
  7800.        TheDraw v4.51            Appendix A             122
  7801.  
  7802.  
  7803.  
  7804.  
  7805.                     APPENDIX B
  7806.  
  7807.               EXTENDED/SPECIAL CHARACTER SET
  7808.  
  7809.  
  7810.        The  following  lists  every  symbol  available  in  the  IBM extended
  7811.        character set.  These  are  all  found  in  the  15  special character
  7812.        function key sets supported by TheDraw.
  7813.  
  7814.  
  7815.         Code Symbol     Code Symbol     Code Symbol     Code Symbol
  7816.  
  7817.          128   Ç         160   á         192   └         224   α
  7818.          129   ü         161   í         193   ┴         225   ß
  7819.          130   é         162   ó         194   ┬         226   Γ
  7820.          131   â         163   ú         195   ├         227   π
  7821.          132   ä         164   ñ         196   ─         228   Σ
  7822.          133   à         165   Ñ         197   ┼         229   σ
  7823.          134   å         166   ª         198   ╞         230   µ
  7824.          135   ç         167   º         199   ╟         231   τ
  7825.          136   ê         168   ¿         200   ╚         232   Φ
  7826.          137   ë         169   ⌐         201   ╔         233   Θ
  7827.          138   è         170   ¬         202   ╩         234   Ω
  7828.          139   ï         171   ½         203   ╦         235   δ
  7829.          140   î         172   ¼         204   ╠         236   ∞
  7830.          141   ì         173   ¡         205   ═         237   φ
  7831.          142   Ä         174   «         206   ╬         238   ε
  7832.          143   Å         175   »         207   ╧         239   ∩
  7833.          144   É         176   ░         208   ╨         240   ≡
  7834.          145   æ         177   ▒         209   ╤         241   ±
  7835.          146   Æ         178   ▓         210   ╥         242   ≥
  7836.          147   ô         179   │         211   ╙         243   ≤
  7837.          148   ö         180   ┤         212   ╘         244   ⌠
  7838.          149   ò         181   ╡         213   ╒         245   ⌡
  7839.          150   û         182   ╢         214   ╓         246   ÷
  7840.          151   ù         183   ╖         215   ╫         247   ≈
  7841.          152   ÿ         184   ╕         216   ╪         248   °
  7842.          153   Ö         185   ╣         217   ┘         249   ∙
  7843.          154   Ü         186   ║         218   ┌         250   ·
  7844.          155   ¢         187   ╗         219   █         251   √
  7845.          156   £         188   ╝         220   ▄         252   ⁿ
  7846.          157   ¥         189   ╜         221   ▌         253   ²
  7847.          158   ₧         190   ╛         222   ▐         254   ■
  7848.          159   ƒ         191   ┐         223   ▀         255   solid spc
  7849.  
  7850.  
  7851.  
  7852.  
  7853.  
  7854.  
  7855.  
  7856.  
  7857.  
  7858.        TheDraw v4.51            Appendix B             123
  7859.  
  7860.  
  7861.  
  7862.  
  7863.                     APPENDIX C
  7864.  
  7865.                 COMMON QUESTIONS & ANSWERS
  7866.  
  7867.        In  an  attempt  to  help  users  with  commonplace difficulties, this
  7868.        section answers some of the more frequent questions.
  7869.  
  7870.        Q:   When saving a full screen  Ansi  file,  TheDraw  reports  it used
  7871.         only 3 or 4 lines.  Did something go wrong?
  7872.  
  7873.        A:   No.   The number  TheDraw reports  is the number of output lines.
  7874.         This is  the  number  of  text  lines,  for  instance,  used when
  7875.         uploading such  an Ansi screen to a BBS system.  TheDraw normally
  7876.         puts as  much  information  onto  a  given  output  text  line as
  7877.         possible.  A number of the Ansi screen lines could be placed onto
  7878.         one output line; however, the file will display as expected.
  7879.        ----
  7880.        Q:   Why does TheDraw display  garbage when  I load  captured graphics
  7881.         screens?
  7882.  
  7883.        A:   TheDraw is  not designed  to handle  high resolution graphics per
  7884.         say.  TheDraw handles only text images.  It is similar to  a word
  7885.         processor in that regard.
  7886.        ----
  7887.        Q:   How can TheDraw support imbedded Ansi BBS control sequences?
  7888.  
  7889.        A:   Previously  users  had  to  resort  to  Animation  Include files,
  7890.         however starting  with TheDraw  v4.0, user  control sequences are
  7891.         directly  supported.    Refer  to command ALT-J,User-Seq for more
  7892.         information.
  7893.        ----
  7894.        Q:   How can I control the location of the  cursor after  an Ansi file
  7895.         is displayed?
  7896.  
  7897.        A:   The  easiest  way  is  to  convert your Ansi screen to Animation.
  7898.         Select the ALT-J, and the "Top"  scanner.   The top  scanner will
  7899.         make your  Ansi file  display as  before.   You could choose some
  7900.         other if you like.  Next, move the cursor where you would like to
  7901.         appear after the display is finished, and press the [SPACE] bar.
  7902.  
  7903.         The  space  will  become  the  last  character  displayed and the
  7904.         position where TheDraw leaves the cursor.
  7905.        ----
  7906.        Q:   Can I use images created with  this software  in my  own programs
  7907.         for public use (or sale)?
  7908.  
  7909.        A:   Yes.   There are  absolutely no  restrictions on work you create.
  7910.         You might  add  a  mention  "Screens  produced  by  TheDraw", but
  7911.         TheSoft certainly does not require it.
  7912.  
  7913.  
  7914.  
  7915.  
  7916.        TheDraw v4.51            Appendix C             124
  7917.  
  7918.  
  7919.  
  7920.        Q:   How do  I upload Ansi files to another computer (a bulletin board
  7921.         system)?
  7922.  
  7923.        A:   Ansi files are sent identically to  regular text  messages, using
  7924.         your communication  programs Ascii  upload option.   Before doing
  7925.         so, be aware some BBS's explicitly do not  support Ansi.   If you
  7926.         pass  the  first  hurdle,  note some BBS's feature automatic text
  7927.         wrap-around for lines which are too long.   Other's simply refuse
  7928.         to accept  more than a maximum line length.  Either of the latter
  7929.         cases will disrupt the appearance of your Ansi files.
  7930.  
  7931.         To avoid difficulties, find  the  maximum  line  length enterable
  7932.         before the above problems occur (generally 70 characters is about
  7933.         average).  Next,  when  saving  your  Ansi  files  using TheDraw,
  7934.         specify the  number determined  (70 here)  for the maximum output
  7935.         line length.  TheDraw will limit lines to that length,  and there
  7936.         should be no problems uploading the image.
  7937.        ----
  7938.        Q:   How do I draw circles/ovals/etc?
  7939.  
  7940.        A:   Smooth  circles  &  ovals  are  not possible using text graphics.
  7941.         Approximations are possible by  careful  selection  of characters
  7942.         and symbols.  For instance:
  7943.                     ▄▄▄▄
  7944.                      ▄▀▀    ▀▀▄
  7945.                     █          █
  7946.                    ▐▌          ▐▌
  7947.                     █          █
  7948.                      ▀▄▄    ▄▄▀
  7949.                     ▀▀▀▀
  7950.         The above was produced using symbols from function key set #6.
  7951.        ----
  7952.        Q:   I get  disk full error messages when I try saving an Ansi file to
  7953.         an empty diskette.  The file  is large,  very close  to the 16000
  7954.         animation limit.  Is this a bug?
  7955.  
  7956.        A:   Seems  unlikely  a  bug  exists.    The Ansi produced is probably
  7957.         larger than  your diskette.   Try  splitting it  into two smaller
  7958.         chunks.    Although  dependant  primarily on the application, the
  7959.         largest Ansi file we know  of  TheDraw  producing  was  about 7.9
  7960.         million  bytes  (a  test  of  16000 random entries, 32 char/line,
  7961.         ansi pause of 50).  Even larger files might be possible.
  7962.        ----
  7963.        Q:   Why can't I change the video size from 25 lines to 43 or 50 lines
  7964.         as the manual suggests?
  7965.  
  7966.        A:   You must have an EGA or VGA video card adapter installed in order
  7967.         to use these video  modes.    If  you  have  a  EGA/VGA  card and
  7968.         TheDraw  is  not  recognizing  your hardware, then please contact
  7969.         TheSoft describing the situation.
  7970.  
  7971.  
  7972.  
  7973.  
  7974.        TheDraw v4.51            Appendix C             125
  7975.  
  7976.  
  7977.  
  7978.        Q:   How can I combine two Ansi files together?
  7979.  
  7980.        A:   There are three ways.  Either load them  both into  TheDraw under
  7981.         animation  mode  (you  will  be  prompted if to append the second
  7982.         file), or use the Dos COPY command.  ie:
  7983.  
  7984.               COPY FILE1.ANS+FILE2.ANS FILE3.ANS
  7985.  
  7986.         The above will  create  a  new  file  "FILE3.ANS"  containing the
  7987.         complete contents of FILE1.ANS and FILE2.ANS.
  7988.  
  7989.         The last  method involves  using a  50 line  buffer mode, loading
  7990.         each target Ansi file into appropriate portions (an  ideal use of
  7991.         Block Load), then saving as one file.
  7992.        ----
  7993.        Q:   My mouse  will not  go below  line 25  when using  the 43/50 line
  7994.         video mode.  I can use the cursor keys fine,  but the  mouse gets
  7995.         stuck.  What is wrong?
  7996.  
  7997.        A:   TheDraw  requires  a  mouse  driver (ie: MOUSE.SYS, MOUSE.COM, or
  7998.         similar variation) be  installed  which  is  compatible  with the
  7999.         EGA/VGA video  card.   Please contact  your mouse manufacturer or
  8000.         check local computer bulletin board systems for an update.
  8001.        ----
  8002.        Q:   Every so often I  get  a  funny  space  character  on  my screen.
  8003.         Moving  the  cursor  onto  it  cause the cursor to "flicker" with
  8004.         colors.  Why does that happen?
  8005.  
  8006.        A:   You have come across what is termed a  "Solid-Space".   These are
  8007.         special  characters  normally  used  with  TheDraw's sprite mode.
  8008.         Solid  spaces  are  entered  by  pressing   the  SHIFT-SPACE  key
  8009.         combination.    They  are not normal spaces (character 32), but a
  8010.         blank special IBM extended space (character 255).  A setup option
  8011.         exists for filtering them from your Ansi/Ascii screen files.
  8012.        ----
  8013.        Q:   When  I  type  saved  ASCII  files,  sometimes  extra blank lines
  8014.         appear.  What is wrong?
  8015.  
  8016.        A:   Your screen contains lines which are the full screen width.   The
  8017.         cursor is "wrapping" down to the next line thus causing the extra
  8018.         blank line to appear.    Such  Ascii  files  are  compatible with
  8019.         standard  text  editors.    To  make  Ascii  files  which display
  8020.         properly using the Dos TYPE  command,  toggle  the  "Force CR/LF"
  8021.         option in the Setup options screen to "NO".
  8022.        ----
  8023.        Q:   When  I  save  animated  Ansi  files,  I  cannot get character to
  8024.         display in the lower-right corner.  How can I correct this?
  8025.  
  8026.        A:   You can't.  The screen scrolls whenever a  character is displayed
  8027.         in  the  lower-right  corner.    This  is extremely disruptive to
  8028.         animated Ansi file.  TheDraw thus does not output characters, but
  8029.         will however paint the corner with the desired colors.
  8030.  
  8031.  
  8032.        TheDraw v4.51            Appendix C             126
  8033.  
  8034.  
  8035.  
  8036.  
  8037.        Q:   I am  a BBS  system operator and puzzled by the Ansi maximum line
  8038.         length parameter.  What  exactly is  this used  for, and  does it
  8039.         mean I can't have full screen Ansi images?
  8040.  
  8041.        A:   The  Ansi  maximum  line  length  is  completely separate of what
  8042.         appears  on  the  screen.    The  parameter  affects  the  output
  8043.         formatting of  Ansi files,  but not the way they appear onscreen.
  8044.         We must make the distinction  between  displayed  Ansi  lines (as
  8045.         they appear) and output lines (as in the .ANS files).
  8046.  
  8047.         Output  lines  contains  large  amounts of cursor positioning and
  8048.         color control codes.  A given displayed Ansi  line might actually
  8049.         translate to an output line over 1000 characters long.
  8050.  
  8051.         In situations where Ansi files are loaded into other software, or
  8052.         uploaded to BBS  systems  as  messages,  physical  limits  on the
  8053.         output  line  lengths  might  be  imposed.  Say, for instance, 70
  8054.         characters.  This  is  the  maximum  amount  of  Ansi information
  8055.         TheDraw can  pack onto  a given  output line.   This fact however
  8056.         will not change the  Ansi screen  is displayed  at all!   TheDraw
  8057.         will compensate  for the  short output lines by moving the cursor
  8058.         and adjusting color codes  as  required.    The  more  TheDraw is
  8059.         forced to do this, the longer your Ansi file becomes.
  8060.  
  8061.         For maximum  speed and  the smallest files, use an Unlimited line
  8062.         length.  BBS system operators  should  use  unlimited  length for
  8063.         menu  screens  and  the  like  -- unless all Ansi files are being
  8064.         stored as messages.  Your message base might  have a  line length
  8065.         limit.  If all your BBS does is display a text file however, then
  8066.         use the unlimited line length.
  8067.  
  8068.  
  8069.  
  8070.  
  8071.  
  8072.  
  8073.  
  8074.  
  8075.  
  8076.  
  8077.  
  8078.  
  8079.  
  8080.  
  8081.  
  8082.  
  8083.  
  8084.  
  8085.  
  8086.  
  8087.  
  8088.  
  8089.  
  8090.        TheDraw v4.51            Appendix C             127
  8091.  
  8092.  
  8093.  
  8094.  
  8095.                  REVISION HISTORY
  8096.  
  8097.  
  8098.        05/01/86  -  Version 1.00  -  Program completed.
  8099.        ____
  8100.  
  8101.        05/05/86  -  Version 1.01
  8102.  
  8103.        Carl Ehmann noticed a glitch in text creation that caused highlighting
  8104.        and  blinking  attributes  changes  to  go  unnoticed.   This has been
  8105.        corrected.
  8106.        ____
  8107.  
  8108.        06/05/86  -  Version 1.02
  8109.  
  8110.        Steven Mills discovered a bug in the file loading routine  that caused
  8111.        TheDraw to flag valid filenames as invalid.  It has been squashed.
  8112.  
  8113.        Changed the  program to not allow the user to enter a code #26 or code
  8114.        #27 into a text screen. A code #26 is the Dos end of file  marker, and
  8115.        entering it  means loss of all following text upon displaying the file
  8116.        or reloading it back  into TheDraw.   A  code #27  is the  ANSI driver
  8117.        signal  character.  Supposedly  ANSI  ignores  invalid  sequences, but
  8118.        allowing the code created  "false"  ANSI  codes  which  caused loading
  8119.        problems.
  8120.        ____
  8121.  
  8122.        07/31/86  -  Version 1.03
  8123.  
  8124.        Upon prompting  from Carl Ehmann, output line length limiting has been
  8125.        added.  This will  facilitate other  programs which  cannot load lines
  8126.        conceivably going  over 1300 characters (such as RBBS).  Color changes
  8127.        can now be accomplished using the  Ctrl-Left and  Right arrow  keys to
  8128.        increment the fore and background colors respectively.
  8129.        ____
  8130.  
  8131.        08/15/86  -  Version 1.10  (later changed to v2.00)
  8132.  
  8133.        Changes in a big way.  New features include:
  8134.      ANSI Animation, Line Drawing, Ruler, movement of
  8135.      blocks UNDER other text and much more!!
  8136.  
  8137.        Quick color  change keys  have been expanded to use the Ctrl-Up, Down,
  8138.        Left, and Right keys in a more logical manner.
  8139.        ____
  8140.  
  8141.        09/13/86  -  Version 2.01
  8142.  
  8143.        A few more enhancements.  Pop-Up help, and  macros have  been added to
  8144.        the new  registered version of the program.  Also a few aspects of the
  8145.        animation editor have been sped up.
  8146.  
  8147.  
  8148.        TheDraw v4.51              History              128
  8149.  
  8150.  
  8151.  
  8152.  
  8153.                   REVISION HISTORY (cont)
  8154.  
  8155.  
  8156.        09/19/86 - Version 2.02
  8157.  
  8158.        Fixed a slight bug which was causing TheDraw to display the wrong Help
  8159.        Screen (in  registered version).   Also, the registered version wasn't
  8160.        keeping track of where its overlay was.
  8161.        ____
  8162.  
  8163.        09/27/86 - Version 2.03
  8164.  
  8165.        Carl Ehmann noticed yet another glitch (what would I do without him?).
  8166.        The Ascii  save routine  was using ANSI codes to advance the cursor to
  8167.        the next line.
  8168.        ____
  8169.  
  8170.        11/28/86 - Version 2.04
  8171.  
  8172.        Ray Buti discovered an  oddity with  the Pascal  screen save.   If you
  8173.        used a  single quote  "'" TheDraw didn't compensate for it.  Therefore
  8174.        when Turbo Pascal  compiled  that  screen  it  complained.    Ray also
  8175.        noticed that  characters under  #32 were  missing the  "#" required by
  8176.        Turbo.  These have both been cured.
  8177.  
  8178.        In addition,  the animation load routine has been made  more reliable.
  8179.        Occasionally  movement  just  involving  the cursor (no text) would be
  8180.        lost.   Other improvements  were made  to make  animation screen files
  8181.        smaller and display faster.
  8182.        ____
  8183.  
  8184.        03/06/87 - Version 2.10
  8185.  
  8186.        Support for monochrome monitors has finally been added.  Don't ask why
  8187.        I never did it  before...   The glitches  Paul Pacter  (and many other
  8188.        people) found  with IBM  PC Ctrl-Up/Down  keys has  been eliminated. I
  8189.        would have never noticed that glitch,  so many  thanks!   Kent Godding
  8190.        made an  excellent suggestion for a ansi-file slow down routine.  This
  8191.        has been added.  Lastly,  a  few  changes  were  made  to  the command
  8192.        structure to clarify things and many prompts were cleaned up.
  8193.  
  8194.  
  8195.  
  8196.  
  8197.  
  8198.  
  8199.  
  8200.  
  8201.  
  8202.  
  8203.  
  8204.  
  8205.  
  8206.        TheDraw v4.51              History              129
  8207.  
  8208.  
  8209.  
  8210.  
  8211.                   REVISION HISTORY (cont)
  8212.  
  8213.  
  8214.        06/20/87 - Version 2.20
  8215.  
  8216.        BSave saves  fixed to  operate properly for monochrome monitors.  Ansi
  8217.        files now output <esc>[40m  color sequences  to clear  screen to black
  8218.        color before  doing anything else.  Thanks to Barry Simon for bringing
  8219.        this oversight  to  my  attention  and  also  suggesting  command line
  8220.        filespecs.    Some  new  items  were  added,  most notably full screen
  8221.        editing.   Thank Ray  Buti for  finally bugging  me enough  to add it.
  8222.        Also  extended  options  for  Asm,  Pascal, and new C storage modes to
  8223.        crunch and store only Ascii in addition to  the original  normal (4000
  8224.        byte) mode.  Thanks to Douglas A. Nicklow for suggesting the C storage
  8225.        capacity.
  8226.        ____
  8227.  
  8228.        08/22/87 - Version 2.21
  8229.  
  8230.        Fixed a minor glitch  with window  sizes being  slightly off.   Also I
  8231.        missed a problem in the registered version.  TheDraw was not using the
  8232.        overlay path entered by the Setup utility when initializing.   So much
  8233.        for learning  from mistakes  (ie: it  happened before).   In addition,
  8234.        using a command line filespec sometimes loaded a  Ansi or  Ascii image
  8235.        with a  random background color.  Needless to say, everything has been
  8236.        fixed.
  8237.        ____
  8238.  
  8239.        04/28/88 - Version 3.00
  8240.  
  8241.        Many, MANY changes.   TheDraw totally  rewritten to  take advantage of
  8242.        Turbo Pascal  v4.0.   A new title screen, dynamic allocation of screen
  8243.        layers and animation space (up to 16000 animation  entries and  8 page
  8244.        layers  can  now  be  used),  multi-layer Sprite editing, dos shelling
  8245.        (suggestion from Billy Noto), and a new high-speed TheDraw format data
  8246.        file  have  all  been  added.    TheDraw now incorporates its own Ansi
  8247.        driver so Ansi/Ascii file loading is much faster.
  8248.  
  8249.        The animation system has  been greatly  expanded.   Five new animation
  8250.        scanners have  been added (ANGLE, GATE, PYRAMID, SQUARES, and WIGGLE).
  8251.        Animation markers(R), "include files",  animation pausing,  support of
  8252.        animation on  multiple page  layers (no  longer restricted to just one
  8253.        page), global animation screen copies, and  more have  all been added.
  8254.        Animation  sequences  can  now  be  appended together.  The registered
  8255.        version supports easy animation editing.
  8256.  
  8257.        A couple of bugs  were fixed.   The  pascal save  left spurious single
  8258.        entries on  the end of lines (yet another discovery of Ray Buti :-) ).
  8259.        The Ascii Save no longer outputs spaces on the end of every line.
  8260.  
  8261.  
  8262.  
  8263.  
  8264.        TheDraw v4.51              History              130
  8265.  
  8266.  
  8267.  
  8268.  
  8269.                   REVISION HISTORY (cont)
  8270.  
  8271.        (v3.00 cont)
  8272.  
  8273.        The  Setup  utility  has  been  vastly   overhauled  and   now  allows
  8274.        configuring  of  the  TheDraw  edit  screen  colors,  TheDraw keyboard
  8275.        commands(R), and many other parameters.
  8276.        ____
  8277.  
  8278.        09/09/88 - Version 3.10
  8279.  
  8280.        Support for the Microsoft Mouse has been added, making cursor movement
  8281.        and the marking of blocks easier.  Five additional character sets have
  8282.        been added.  These are accessed via CTRL-F(1-5).   With  this revision
  8283.        goes a  new function  key screen  (ALT-F).   Finally, a  few bugs were
  8284.        eradicated.  Many people reported CTRL-Up/Down keys were  not working.
  8285.        They did work, however the status display was not always updated (thus
  8286.        causing  the  following  confusion).    TheDraw  now  allows filespecs
  8287.        without  extensions  to  be  used  again.    In  addition, the default
  8288.        filespec extensions can be changed using  the Setup  utility (Ray Buti
  8289.        can now  change .PAS  to anything he likes <grin>).  The Setup utility
  8290.        Defaults option now works as advertised.  Finally, the keyboard driver
  8291.        for Ctrl-Up/Down  has been changed yet again.  With the last revision,
  8292.        a few computers were gained but the PCjr was lost.
  8293.        ____
  8294.  
  8295.        04/04/89 - Version 3.20
  8296.  
  8297.        Pull down menu system has been added to TheDraw.  The program  can now
  8298.        be totally  controlled by  use of a mouse.  Various small details that
  8299.        escaped detection regarding the mouse were  corrected.   TheDraw has a
  8300.        new storage  format --  COM files.  Separate programs useful for batch
  8301.        files and the like.  They work with blocks and  (naturally) the entire
  8302.        screen.  A few bugs floating around the program have been cured.  When
  8303.        attempting a block save, TheDraw would sometimes display  and save the
  8304.        wrong screen  portion.   The ALT-U command was not processing blinking
  8305.        colors properly -- thanks  to Darin  May for  pointing this  out.  The
  8306.        ALT-L file  directory had  a minor problem when there were exactly 124
  8307.        items displayed.  You could go down to the next page even though there
  8308.        was nothing  on it.   Animation  screen copies  might possibly fail if
  8309.        they run out of room.  What the user saw didn't necessarily match what
  8310.        TheDraw thought  was there  until everything got redrawn.  The problem
  8311.        with CTRL-UP/DOWN simply won't go away.  The driver will  work for 99%
  8312.        of  machines,  but  certain  computers  with  non-compatible  keyboard
  8313.        hardware will lockup (notably the Tandy  1000A  and  HX).    The SETUP
  8314.        utility now has a provision for deactivating the driver completely.
  8315.  
  8316.  
  8317.  
  8318.  
  8319.  
  8320.  
  8321.  
  8322.        TheDraw v4.51              History              131
  8323.  
  8324.  
  8325.  
  8326.  
  8327.                   REVISION HISTORY (cont)
  8328.  
  8329.  
  8330.        11/01/89 - Version 3.30
  8331.  
  8332.        TheDraw format  files now support block load/save.  A color attributes
  8333.        drawing mode has been  added,  access  via  Alt--.    Thanks  to James
  8334.        Carroll  for   this  suggestion.    You  can  now  specify  a  default
  8335.        directory/wildcard when  using sticky  directory listings.   Thanks to
  8336.        Sylvest Adam  for this  suggestion.   TheDraw supports a ten file pick
  8337.        list now.  This maintains a  listing of  the last  ten files accessed.
  8338.        Simply press the TAB whenever TheDraw prompts for a filespec.  TheDraw
  8339.        now generates Intel format compatible object  code files.   Useful for
  8340.        linking with Turbo Pascal v4.0 and above, C plus many other high-level
  8341.        languages.   The ruler  can now  be made  "sticky".   When active, the
  8342.        ruler stays  on the  screen appearing under the current page layer.  A
  8343.        few bugs were fixed.  The  problem with  ansi animation  files getting
  8344.        confused  when  saved  without  screen  preparation  has  been solved.
  8345.        Thanks to Terry Blake for reporting it.  Alt-O now properly allows you
  8346.        to  change  drives.    A  minor  glitch  with  animation include files
  8347.        dropping characters has been solved.   Finally, the  directory listing
  8348.        handles the mouse in a more predictable/controllable manner.
  8349.        ____
  8350.  
  8351.        03/01/91 - Version 4.00
  8352.  
  8353.        A great number of changes, additions, and improvements.  First the bug
  8354.        fixes:  Garry Kraemer  found the  uncruncher wasent  in sync  with how
  8355.        TheDraw  handled  flashing  characters.   Michael Harris discovered it
  8356.        was possible to select a page 0 in  version 3.30.   Paul  Furman noted
  8357.        BSAVE files was not quite compatible with Basic, lacking a termination
  8358.        sequence.  Carter Downer noted that 80 column  Ansi files  produced by
  8359.        TheDraw were not fully compatible with bulletin board systems.
  8360.  
  8361.        New features  are:   EGA/VGA screen editing (43/50 lines for EGA/VGA).
  8362.        A virtual screen edit  buffer was  added, allowing  screens up  to 160
  8363.        characters  by  50  lines  can  be  edited.  Mouse aided line drawing;
  8364.        pressing the middle mouse button down and moving will draws  a line or
  8365.        box.   All cursor  keys now function throughout TheDraw.  Line drawing
  8366.        now tolerates bumping into the screen border.  New animation scanners:
  8367.        Doors*,  Diamond*,   Circle*,  Clock*,  Checkerboard,  and  Wiggleout.
  8368.        Thanks to Guy StarBuck for suggesting the first four.   The ability to
  8369.        reverse any  animation scan  (making the  scan go  backwards) was also
  8370.        added.  Thanks to Dorothy Hade  for this  excellent suggestion.   User
  8371.        Ctrl sequences permitting BBS operators to install custom Ansi codes.
  8372.        The last  animation improvement  was the  ability to append -ANY- file
  8373.        format (except .TD) to  an  animation  sequence.    For non-ansi/ascii
  8374.        files, TheDraw requests an animation scanner to reading the screen.
  8375.  
  8376.  
  8377.  
  8378.  
  8379.  
  8380.        TheDraw v4.51              History              132
  8381.  
  8382.  
  8383.  
  8384.  
  8385.                   REVISION HISTORY (cont)
  8386.  
  8387.        (v4.00 cont)
  8388.  
  8389.        Block  and  global  character/attribute  replace  has been added.  The
  8390.        default load filename extension can now be changed  to something other
  8391.        than  ANS.    An  online  setup  menu  was  added  to  TheDraw, making
  8392.        configuration of the environment much easier.  Two additional COM file
  8393.        formats were  added, with  TheDraw transparently selecting the best of
  8394.        the three for a given application.
  8395.  
  8396.        Ascii files can now be forced to have  carriage returns  placed on the
  8397.        end of  each line.  ALT-Key pop-up help screen added.  TheDraw can now
  8398.        save backup files.    The  ALT-Left/Right  key  sequence delete/insert
  8399.        columns.  Automatic screen blanking was added.  Dos Shell now attempts
  8400.        to swap out information to EMS memory or a disk swap file  to increase
  8401.        available memory  during the  shell.   Lastly (whew!),  TheDraw can be
  8402.        made to prompt to save changes  before  exit.    Either  just  for the
  8403.        current page, or for all page layers.
  8404.        ____
  8405.  
  8406.        03/18/91 - Version 4.01
  8407.  
  8408.        A  minor  correction  to  the  .OBJ file format loader, the Last Block
  8409.        option works properly now,  plus a  couple other  minor fixes  to bugs
  8410.        somehow squirming  through testing.   The presentation program (THEPP)
  8411.        now properly displays TheDraw  format  files  saved  with  sprite mode
  8412.        turned on.
  8413.  
  8414.        ----
  8415.        Version  numbers   4.10  through  4.40  skipped  because  unauthorized
  8416.        (illegal) modification of TheDraw v4.00 by an individual.
  8417.        ----
  8418.  
  8419.        03/16/92 - Version 4.50
  8420.  
  8421.        Over 50 improvements and corrections.    Bug  fixes  include corrected
  8422.        Ansi file  generation, improved QuickBasic support, cleaned up various
  8423.        screen  display  quirks  associated  with  the  virtual  edit  buffer,
  8424.        problems  with  column  insert/delete,  better  handling  of  switches
  8425.        between 25 and 43/50  line buffers,  difficulty with  read-only marked
  8426.        files, quirks  with screen  blanker, better  handling of bell codes in
  8427.        Ansi files, problem with Sticky ruler  not being  saved to  .TD files,
  8428.        glitches with refreshing display in animation mode, plus several other
  8429.        minor improvements.
  8430.  
  8431.  
  8432.  
  8433.  
  8434.  
  8435.  
  8436.  
  8437.  
  8438.        TheDraw v4.51              History              133
  8439.  
  8440.  
  8441.  
  8442.  
  8443.                   REVISION HISTORY (cont)
  8444.  
  8445.        (v4.50 cont)
  8446.  
  8447.        Thanks to:
  8448.       Steven Fischkoff for finding bug with animation scramble scanner.
  8449.       J. T. Merrill for finding problem with THEPP when displaying
  8450.         animated files.
  8451.       Warren Leadbeatter for pointing out circumstances where unwanted
  8452.         blank lines could get inserted into Ansi files.
  8453.       Jeff Lawson for finding bug when loading read-only files, saving
  8454.         small  (less  than  512  bytes)  object   files,  and  suggesting
  8455.         improvements for the QuickBasic MAKEQLB batch file.
  8456.       Ian Thurston for supplying a example for the Clipper compiler.
  8457.       Joe Fischer (and others) for helping identify glitch with Ansi
  8458.         saves relative to spurious linefeeds in the top video line.
  8459.  
  8460.        Improvements include  encrypted screen  data to  thwart hack attempts,
  8461.        internal Ascii  class font  support, true  restore/undo facility which
  8462.        can reverse  any screen  operation, a 23 line edit buffer (very useful
  8463.        for BBS screen generation), improved cursor  viability when foreground
  8464.        and  background  colors  are  the  same,  pull  down menus now display
  8465.        shortcut  keystrokes,   file  directory   used  with  load/view/delete
  8466.        function now  show directories,  more efficient  Ansi file generation,
  8467.        mouse users can now click on items in status line (when pulldown menus
  8468.        displayed) as shortcut for common commands.  Enjoy!
  8469.  
  8470.        ----
  8471.  
  8472.        04/15/92 - Version 4.51
  8473.  
  8474.        Alas...  the  best  laid  plans.    Another  bug  in  the  creation of
  8475.        QuickBasic object files was found by Gary Deal.   This  has been taken
  8476.        care  of.    An  obscure  problem with background colors in Ansi files
  8477.        reported by Chris Wirth (and others) has been cured.   Lastly, a minor
  8478.        hiccup  with  the  sticky  ruler  only working in sprite mode has been
  8479.        repaired.
  8480.  
  8481.  
  8482.  
  8483.  
  8484.        (R) = Feature in Registered Version of TheDraw Only
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.  
  8492.  
  8493.  
  8494.  
  8495.  
  8496.        TheDraw v4.51              History              134
  8497.  
  8498.  
  8499.  
  8500.  
  8501.                     THE FUTURE
  8502.  
  8503.  
  8504.        Look for these features in the next release of TheDraw:
  8505.  
  8506.         TheDraw  Library  Files  -  Files  which  can  hold multiple
  8507.         screens, screen blocks, etc... along with descriptions.
  8508.  
  8509.        Send in  your ideas,  suggestions, criticisms and bug reports.  Report
  8510.        something first and be immortalized in the docs of TheDraw!
  8511.  
  8512.        If you ever find a copy of TheDraw  with a  version number  other than
  8513.        one  listed  above,  please  take  the  time  to write us a quick note
  8514.        describing it.  Thank you!
  8515.  
  8516.  
  8517.  
  8518.  
  8519.  
  8520.  
  8521.  
  8522.  
  8523.  
  8524.  
  8525.  
  8526.  
  8527.  
  8528.  
  8529.  
  8530.  
  8531.  
  8532.  
  8533.  
  8534.  
  8535.  
  8536.  
  8537.  
  8538.  
  8539.  
  8540.  
  8541.  
  8542.  
  8543.  
  8544.  
  8545.  
  8546.  
  8547.  
  8548.  
  8549.  
  8550.  
  8551.  
  8552.  
  8553.  
  8554.        TheDraw v4.51                           135
  8555.  
  8556.  
  8557.  
  8558.  
  8559.                      COMMENTS
  8560.  
  8561.  
  8562.        Please consider registering for the amount  of $22.   Quality software
  8563.        at good  prices is  very difficult to find.  We at TheSoft Programming
  8564.        Services firmly  believe  in  and  support  the  concept  of shareware
  8565.        products, and  hopefully you  do also.   Please make any checks out to
  8566.        TheSoft Programming Services.  If you  have any  requests, comments or
  8567.        suggestions for TheDraw, please send them to:
  8568.  
  8569.  
  8570.  
  8571.                TheSoft Programming Services
  8572.                c/o Ian Davis - TheDraw
  8573.                P.O. Box 7657
  8574.                Fremont, CA, 94537-7657
  8575.  
  8576.  
  8577.  
  8578.        Thanks for your support!
  8579.  
  8580.  
  8581.  
  8582.  
  8583.  
  8584.  
  8585.  
  8586.  
  8587.  
  8588.  
  8589.  
  8590.  
  8591.  
  8592.  
  8593.  
  8594.  
  8595.  
  8596.  
  8597.  
  8598.  
  8599.  
  8600.  
  8601.  
  8602.  
  8603.  
  8604.  
  8605.  
  8606.  
  8607.  
  8608.  
  8609.  
  8610.  
  8611.  
  8612.        TheDraw v4.51                           136